Quellcode durchsuchen

Sync classref with 2.1 source, goodbye 2.0!

Rémi Verschelde vor 9 Jahren
Ursprung
Commit
f629e839e5
100 geänderte Dateien mit 4392 neuen und 1760 gelöschten Zeilen
  1. 160 160
      classes/[email protected]
  2. 14 0
      classes/class_@global scope.rst
  3. 40 0
      classes/class_animatedsprite.rst
  4. 58 10
      classes/class_animatedsprite3d.rst
  5. 35 14
      classes/class_animation.rst
  6. 2 3
      classes/class_animationplayer.rst
  7. 6 0
      classes/class_animationtreeplayer.rst
  8. 117 49
      classes/class_area.rst
  9. 36 4
      classes/class_array.rst
  10. 5 0
      classes/class_atlastexture.rst
  11. 36 0
      classes/class_bakedlight.rst
  12. 54 26
      classes/class_basebutton.rst
  13. 126 0
      classes/class_bitmapfont.rst
  14. 18 0
      classes/class_camera2d.rst
  15. 24 4
      classes/class_canvasitem.rst
  16. 14 14
      classes/class_canvasitemmaterial.rst
  17. 2 2
      classes/class_collisionobject2d.rst
  18. 51 11
      classes/class_colorarray.rst
  19. 2 2
      classes/class_colorpicker.rst
  20. 22 22
      classes/class_configfile.rst
  21. 95 13
      classes/class_control.rst
  22. 36 36
      classes/class_curve2d.rst
  23. 42 42
      classes/class_curve3d.rst
  24. 11 1
      classes/class_dictionary.rst
  25. 3 3
      classes/class_directory.rst
  26. 124 0
      classes/class_dynamicfont.rst
  27. 38 0
      classes/class_dynamicfontdata.rst
  28. 45 0
      classes/class_editorexportplugin.rst
  29. 51 38
      classes/class_editorfiledialog.rst
  30. 75 14
      classes/class_editorimportplugin.rst
  31. 206 37
      classes/class_editorplugin.rst
  32. 10 1
      classes/class_editorscenepostimport.rst
  33. 6 1
      classes/class_editorscript.rst
  34. 68 0
      classes/class_editorselection.rst
  35. 104 0
      classes/class_editorsettings.rst
  36. 139 0
      classes/class_editorspatialgizmo.rst
  37. 19 19
      classes/class_environment.rst
  38. 19 9
      classes/class_file.rst
  39. 14 1
      classes/class_filedialog.rst
  40. 30 30
      classes/class_fixedmaterial.rst
  41. 6 96
      classes/class_font.rst
  42. 22 9
      classes/class_funcref.rst
  43. 19 8
      classes/class_gdfunctionstate.rst
  44. 41 25
      classes/class_geometryinstance.rst
  45. 60 40
      classes/class_httpclient.rst
  46. 162 0
      classes/class_httprequest.rst
  47. 25 3
      classes/class_immediategeometry.rst
  48. 97 41
      classes/class_input.rst
  49. 12 1
      classes/class_instanceplaceholder.rst
  50. 51 11
      classes/class_intarray.rst
  51. 86 0
      classes/class_inversekinematics.rst
  52. 143 80
      classes/class_itemlist.rst
  53. 2 2
      classes/class_kinematicbody2d.rst
  54. 6 0
      classes/class_label.rst
  55. 108 33
      classes/class_lineedit.rst
  56. 69 0
      classes/class_linkbutton.rst
  57. 50 0
      classes/class_listener.rst
  58. 31 25
      classes/class_mainloop.rst
  59. 4 4
      classes/class_marshalls.rst
  60. 6 6
      classes/class_meshdatatool.rst
  61. 35 23
      classes/class_meshlibrary.rst
  62. 89 53
      classes/class_node.rst
  63. 89 89
      classes/class_object.rst
  64. 2 2
      classes/class_optionbutton.rst
  65. 183 31
      classes/class_os.rst
  66. 6 6
      classes/class_packeddatacontainer.rst
  67. 4 4
      classes/class_packetpeer.rst
  68. 21 9
      classes/class_parallaxlayer.rst
  69. 17 0
      classes/class_patch9frame.rst
  70. 2 2
      classes/class_physics2ddirectbodystate.rst
  71. 27 18
      classes/class_physics2dserver.rst
  72. 45 9
      classes/class_physicsbody.rst
  73. 231 195
      classes/class_physicsserver.rst
  74. 59 41
      classes/class_polygon2d.rst
  75. 15 15
      classes/class_popup.rst
  76. 98 62
      classes/class_popupmenu.rst
  77. 12 12
      classes/class_proximitygroup.rst
  78. 53 15
      classes/class_rawarray.rst
  79. 28 0
      classes/class_raycast.rst
  80. 51 11
      classes/class_realarray.rst
  81. 1 1
      classes/class_reference.rst
  82. 27 17
      classes/class_regex.rst
  83. 1 1
      classes/class_resource.rst
  84. 8 2
      classes/class_resourceimportmetadata.rst
  85. 6 0
      classes/class_resourceloader.rst
  86. 10 2
      classes/class_richtextlabel.rst
  87. 10 1
      classes/class_rid.rst
  88. 43 3
      classes/class_rigidbody2d.rst
  89. 1 7
      classes/class_sample.rst
  90. 6 0
      classes/class_samplelibrary.rst
  91. 61 59
      classes/class_scenetree.rst
  92. 2 4
      classes/class_script.rst
  93. 4 4
      classes/class_scrollcontainer.rst
  94. 6 6
      classes/class_shadergraph.rst
  95. 11 11
      classes/class_shadermaterial.rst
  96. 15 15
      classes/class_shape2d.rst
  97. 56 0
      classes/class_shortcut.rst
  98. 80 80
      classes/class_spatial.rst
  99. 19 0
      classes/class_spatialgizmo.rst
  100. 1 0
      classes/class_sprite.rst

+ 160 - 160
classes/[email protected]

@@ -16,141 +16,143 @@ Built-in GDScript functions.
 Member Functions
 ----------------
 
-+--------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Color<class_color>`            | :ref:`Color8<class_@GDScript_Color8>`  **(** :ref:`int<class_int>` r8, :ref:`int<class_int>` g8, :ref:`int<class_int>` b8, :ref:`int<class_int>` a8  **)** |
-+--------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`            | :ref:`abs<class_@GDScript_abs>`  **(** :ref:`float<class_float>` s  **)**                                                                                  |
-+--------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`            | :ref:`acos<class_@GDScript_acos>`  **(** :ref:`float<class_float>` s  **)**                                                                                |
-+--------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`            | :ref:`asin<class_@GDScript_asin>`  **(** :ref:`float<class_float>` s  **)**                                                                                |
-+--------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Nil<class_nil>`                | :ref:`assert<class_@GDScript_assert>`  **(** :ref:`bool<class_bool>` condition  **)**                                                                      |
-+--------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`            | :ref:`atan<class_@GDScript_atan>`  **(** :ref:`float<class_float>` s  **)**                                                                                |
-+--------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`            | :ref:`atan2<class_@GDScript_atan2>`  **(** :ref:`float<class_float>` x, :ref:`float<class_float>` y  **)**                                                 |
-+--------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| Variant                              | :ref:`bytes2var<class_@GDScript_bytes2var>`  **(** :ref:`RawArray<class_rawarray>` bytes  **)**                                                            |
-+--------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`            | :ref:`ceil<class_@GDScript_ceil>`  **(** :ref:`float<class_float>` s  **)**                                                                                |
-+--------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`            | :ref:`clamp<class_@GDScript_clamp>`  **(** :ref:`float<class_float>` val, :ref:`float<class_float>` min, :ref:`float<class_float>` max  **)**              |
-+--------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Object<class_object>`          | :ref:`convert<class_@GDScript_convert>`  **(** Variant what, :ref:`int<class_int>` type  **)**                                                             |
-+--------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`            | :ref:`cos<class_@GDScript_cos>`  **(** :ref:`float<class_float>` s  **)**                                                                                  |
-+--------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`            | :ref:`cosh<class_@GDScript_cosh>`  **(** :ref:`float<class_float>` s  **)**                                                                                |
-+--------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`            | :ref:`db2linear<class_@GDScript_db2linear>`  **(** :ref:`float<class_float>` db  **)**                                                                     |
-+--------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`            | :ref:`decimals<class_@GDScript_decimals>`  **(** :ref:`float<class_float>` step  **)**                                                                     |
-+--------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`            | :ref:`dectime<class_@GDScript_dectime>`  **(** :ref:`float<class_float>` value, :ref:`float<class_float>` amount, :ref:`float<class_float>` step  **)**    |
-+--------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`            | :ref:`deg2rad<class_@GDScript_deg2rad>`  **(** :ref:`float<class_float>` deg  **)**                                                                        |
-+--------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Object<class_object>`          | :ref:`dict2inst<class_@GDScript_dict2inst>`  **(** :ref:`Dictionary<class_dictionary>` dict  **)**                                                         |
-+--------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`            | :ref:`ease<class_@GDScript_ease>`  **(** :ref:`float<class_float>` s, :ref:`float<class_float>` curve  **)**                                               |
-+--------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`            | :ref:`exp<class_@GDScript_exp>`  **(** :ref:`float<class_float>` s  **)**                                                                                  |
-+--------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`            | :ref:`floor<class_@GDScript_floor>`  **(** :ref:`float<class_float>` s  **)**                                                                              |
-+--------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`            | :ref:`fmod<class_@GDScript_fmod>`  **(** :ref:`float<class_float>` x, :ref:`float<class_float>` y  **)**                                                   |
-+--------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`            | :ref:`fposmod<class_@GDScript_fposmod>`  **(** :ref:`float<class_float>` x, :ref:`float<class_float>` y  **)**                                             |
-+--------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`FuncRef<class_funcref>`        | :ref:`funcref<class_@GDScript_funcref>`  **(** :ref:`Object<class_object>` instance, :ref:`String<class_string>` funcname  **)**                           |
-+--------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                | :ref:`hash<class_@GDScript_hash>`  **(** Variant var:Variant  **)**                                                                                        |
-+--------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Dictionary<class_dictionary>`  | :ref:`inst2dict<class_@GDScript_inst2dict>`  **(** :ref:`Object<class_object>` inst  **)**                                                                 |
-+--------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Object<class_object>`          | :ref:`instance_from_id<class_@GDScript_instance_from_id>`  **(** :ref:`int<class_int>` instance_id  **)**                                                  |
-+--------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`            | :ref:`is_inf<class_@GDScript_is_inf>`  **(** :ref:`float<class_float>` s  **)**                                                                            |
-+--------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`            | :ref:`is_nan<class_@GDScript_is_nan>`  **(** :ref:`float<class_float>` s  **)**                                                                            |
-+--------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`            | :ref:`lerp<class_@GDScript_lerp>`  **(** :ref:`float<class_float>` from, :ref:`float<class_float>` to, :ref:`float<class_float>` weight  **)**             |
-+--------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`            | :ref:`linear2db<class_@GDScript_linear2db>`  **(** :ref:`float<class_float>` nrg  **)**                                                                    |
-+--------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Resource<class_resource>`      | :ref:`load<class_@GDScript_load>`  **(** :ref:`String<class_string>` path  **)**                                                                           |
-+--------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`            | :ref:`log<class_@GDScript_log>`  **(** :ref:`float<class_float>` s  **)**                                                                                  |
-+--------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`            | :ref:`max<class_@GDScript_max>`  **(** :ref:`float<class_float>` a, :ref:`float<class_float>` b  **)**                                                     |
-+--------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`            | :ref:`min<class_@GDScript_min>`  **(** :ref:`float<class_float>` a, :ref:`float<class_float>` b  **)**                                                     |
-+--------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                | :ref:`nearest_po2<class_@GDScript_nearest_po2>`  **(** :ref:`int<class_int>` val  **)**                                                                    |
-+--------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`            | :ref:`pow<class_@GDScript_pow>`  **(** :ref:`float<class_float>` x, :ref:`float<class_float>` y  **)**                                                     |
-+--------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Resource<class_resource>`      | :ref:`preload<class_@GDScript_preload>`  **(** :ref:`String<class_string>` path  **)**                                                                     |
-+--------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Nil<class_nil>`                | :ref:`print<class_@GDScript_print>`  **(** Variant what, Variant ...  **)**                                                                                |
-+--------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Nil<class_nil>`                | :ref:`print_stack<class_@GDScript_print_stack>`  **(** **)**                                                                                               |
-+--------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Nil<class_nil>`                | :ref:`printerr<class_@GDScript_printerr>`  **(** Variant what, Variant ...  **)**                                                                          |
-+--------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Nil<class_nil>`                | :ref:`printraw<class_@GDScript_printraw>`  **(** Variant what, Variant ...  **)**                                                                          |
-+--------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Nil<class_nil>`                | :ref:`prints<class_@GDScript_prints>`  **(** Variant what, Variant ...  **)**                                                                              |
-+--------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Nil<class_nil>`                | :ref:`printt<class_@GDScript_printt>`  **(** Variant what, Variant ...  **)**                                                                              |
-+--------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`            | :ref:`rad2deg<class_@GDScript_rad2deg>`  **(** :ref:`float<class_float>` rad  **)**                                                                        |
-+--------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`            | :ref:`rand_range<class_@GDScript_rand_range>`  **(** :ref:`float<class_float>` from, :ref:`float<class_float>` to  **)**                                   |
-+--------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Array<class_array>`            | :ref:`rand_seed<class_@GDScript_rand_seed>`  **(** :ref:`float<class_float>` seed  **)**                                                                   |
-+--------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`            | :ref:`randf<class_@GDScript_randf>`  **(** **)**                                                                                                           |
-+--------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                | :ref:`randi<class_@GDScript_randi>`  **(** **)**                                                                                                           |
-+--------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Nil<class_nil>`                | :ref:`randomize<class_@GDScript_randomize>`  **(** **)**                                                                                                   |
-+--------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Array<class_array>`            | :ref:`range<class_@GDScript_range>`  **(** Variant ...  **)**                                                                                              |
-+--------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`            | :ref:`round<class_@GDScript_round>`  **(** :ref:`float<class_float>` s  **)**                                                                              |
-+--------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Nil<class_nil>`                | :ref:`seed<class_@GDScript_seed>`  **(** :ref:`float<class_float>` seed  **)**                                                                             |
-+--------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`            | :ref:`sign<class_@GDScript_sign>`  **(** :ref:`float<class_float>` s  **)**                                                                                |
-+--------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`            | :ref:`sin<class_@GDScript_sin>`  **(** :ref:`float<class_float>` s  **)**                                                                                  |
-+--------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`            | :ref:`sinh<class_@GDScript_sinh>`  **(** :ref:`float<class_float>` s  **)**                                                                                |
-+--------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`            | :ref:`sqrt<class_@GDScript_sqrt>`  **(** :ref:`float<class_float>` s  **)**                                                                                |
-+--------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`            | :ref:`stepify<class_@GDScript_stepify>`  **(** :ref:`float<class_float>` s, :ref:`float<class_float>` step  **)**                                          |
-+--------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_string>`          | :ref:`str<class_@GDScript_str>`  **(** Variant what, Variant ...  **)**                                                                                    |
-+--------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| Variant                              | :ref:`str2var<class_@GDScript_str2var>`  **(** :ref:`String<class_string>` string  **)**                                                                   |
-+--------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`            | :ref:`tan<class_@GDScript_tan>`  **(** :ref:`float<class_float>` s  **)**                                                                                  |
-+--------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`            | :ref:`tanh<class_@GDScript_tanh>`  **(** :ref:`float<class_float>` s  **)**                                                                                |
-+--------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                | :ref:`typeof<class_@GDScript_typeof>`  **(** Variant what  **)**                                                                                           |
-+--------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`RawArray<class_rawarray>`      | :ref:`var2bytes<class_@GDScript_var2bytes>`  **(** Variant var  **)**                                                                                      |
-+--------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_string>`          | :ref:`var2str<class_@GDScript_var2str>`  **(** Variant var  **)**                                                                                          |
-+--------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`WeakRef<class_weakref>`        | :ref:`weakref<class_@GDScript_weakref>`  **(** :ref:`Object<class_object>` obj  **)**                                                                      |
-+--------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Nil<class_nil>`                | :ref:`yield<class_@GDScript_yield>`  **(** :ref:`Object<class_object>` object, :ref:`String<class_string>` signal  **)**                                   |
-+--------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
++------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Color<class_color>`                      | :ref:`Color8<class_@GDScript_Color8>`  **(** :ref:`int<class_int>` r8, :ref:`int<class_int>` g8, :ref:`int<class_int>` b8, :ref:`int<class_int>` a8  **)** |
++------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`                      | :ref:`abs<class_@GDScript_abs>`  **(** :ref:`float<class_float>` s  **)**                                                                                  |
++------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`                      | :ref:`acos<class_@GDScript_acos>`  **(** :ref:`float<class_float>` s  **)**                                                                                |
++------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`                      | :ref:`asin<class_@GDScript_asin>`  **(** :ref:`float<class_float>` s  **)**                                                                                |
++------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Nil<class_nil>`                          | :ref:`assert<class_@GDScript_assert>`  **(** :ref:`bool<class_bool>` condition  **)**                                                                      |
++------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`                      | :ref:`atan<class_@GDScript_atan>`  **(** :ref:`float<class_float>` s  **)**                                                                                |
++------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`                      | :ref:`atan2<class_@GDScript_atan2>`  **(** :ref:`float<class_float>` x, :ref:`float<class_float>` y  **)**                                                 |
++------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Variant<class_variant>`                  | :ref:`bytes2var<class_@GDScript_bytes2var>`  **(** :ref:`RawArray<class_rawarray>` bytes  **)**                                                            |
++------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`                      | :ref:`ceil<class_@GDScript_ceil>`  **(** :ref:`float<class_float>` s  **)**                                                                                |
++------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`                      | :ref:`clamp<class_@GDScript_clamp>`  **(** :ref:`float<class_float>` val, :ref:`float<class_float>` min, :ref:`float<class_float>` max  **)**              |
++------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Object<class_object>`                    | :ref:`convert<class_@GDScript_convert>`  **(** :ref:`Variant<class_variant>` what, :ref:`int<class_int>` type  **)**                                       |
++------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`                      | :ref:`cos<class_@GDScript_cos>`  **(** :ref:`float<class_float>` s  **)**                                                                                  |
++------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`                      | :ref:`cosh<class_@GDScript_cosh>`  **(** :ref:`float<class_float>` s  **)**                                                                                |
++------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`                      | :ref:`db2linear<class_@GDScript_db2linear>`  **(** :ref:`float<class_float>` db  **)**                                                                     |
++------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`                      | :ref:`decimals<class_@GDScript_decimals>`  **(** :ref:`float<class_float>` step  **)**                                                                     |
++------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`                      | :ref:`dectime<class_@GDScript_dectime>`  **(** :ref:`float<class_float>` value, :ref:`float<class_float>` amount, :ref:`float<class_float>` step  **)**    |
++------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`                      | :ref:`deg2rad<class_@GDScript_deg2rad>`  **(** :ref:`float<class_float>` deg  **)**                                                                        |
++------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Object<class_object>`                    | :ref:`dict2inst<class_@GDScript_dict2inst>`  **(** :ref:`Dictionary<class_dictionary>` dict  **)**                                                         |
++------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`                      | :ref:`ease<class_@GDScript_ease>`  **(** :ref:`float<class_float>` s, :ref:`float<class_float>` curve  **)**                                               |
++------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`                      | :ref:`exp<class_@GDScript_exp>`  **(** :ref:`float<class_float>` s  **)**                                                                                  |
++------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`                      | :ref:`floor<class_@GDScript_floor>`  **(** :ref:`float<class_float>` s  **)**                                                                              |
++------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`                      | :ref:`fmod<class_@GDScript_fmod>`  **(** :ref:`float<class_float>` x, :ref:`float<class_float>` y  **)**                                                   |
++------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`                      | :ref:`fposmod<class_@GDScript_fposmod>`  **(** :ref:`float<class_float>` x, :ref:`float<class_float>` y  **)**                                             |
++------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`FuncRef<class_funcref>`                  | :ref:`funcref<class_@GDScript_funcref>`  **(** :ref:`Object<class_object>` instance, :ref:`String<class_string>` funcname  **)**                           |
++------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                          | :ref:`hash<class_@GDScript_hash>`  **(** :ref:`Variant<class_variant>` var:Variant  **)**                                                                  |
++------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Dictionary<class_dictionary>`            | :ref:`inst2dict<class_@GDScript_inst2dict>`  **(** :ref:`Object<class_object>` inst  **)**                                                                 |
++------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Object<class_object>`                    | :ref:`instance_from_id<class_@GDScript_instance_from_id>`  **(** :ref:`int<class_int>` instance_id  **)**                                                  |
++------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`                      | :ref:`is_inf<class_@GDScript_is_inf>`  **(** :ref:`float<class_float>` s  **)**                                                                            |
++------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`                      | :ref:`is_nan<class_@GDScript_is_nan>`  **(** :ref:`float<class_float>` s  **)**                                                                            |
++------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`                      | :ref:`lerp<class_@GDScript_lerp>`  **(** :ref:`float<class_float>` from, :ref:`float<class_float>` to, :ref:`float<class_float>` weight  **)**             |
++------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`                      | :ref:`linear2db<class_@GDScript_linear2db>`  **(** :ref:`float<class_float>` nrg  **)**                                                                    |
++------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Resource<class_resource>`                | :ref:`load<class_@GDScript_load>`  **(** :ref:`String<class_string>` path  **)**                                                                           |
++------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`                      | :ref:`log<class_@GDScript_log>`  **(** :ref:`float<class_float>` s  **)**                                                                                  |
++------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`                      | :ref:`max<class_@GDScript_max>`  **(** :ref:`float<class_float>` a, :ref:`float<class_float>` b  **)**                                                     |
++------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`                      | :ref:`min<class_@GDScript_min>`  **(** :ref:`float<class_float>` a, :ref:`float<class_float>` b  **)**                                                     |
++------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                          | :ref:`nearest_po2<class_@GDScript_nearest_po2>`  **(** :ref:`int<class_int>` val  **)**                                                                    |
++------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`                      | :ref:`pow<class_@GDScript_pow>`  **(** :ref:`float<class_float>` x, :ref:`float<class_float>` y  **)**                                                     |
++------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Resource<class_resource>`                | :ref:`preload<class_@GDScript_preload>`  **(** :ref:`String<class_string>` path  **)**                                                                     |
++------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Nil<class_nil>`                          | :ref:`print<class_@GDScript_print>`  **(** :ref:`Variant<class_variant>` what, :ref:`Variant<class_variant>` ...  **)**                                    |
++------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Nil<class_nil>`                          | :ref:`print_stack<class_@GDScript_print_stack>`  **(** **)**                                                                                               |
++------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Nil<class_nil>`                          | :ref:`printerr<class_@GDScript_printerr>`  **(** :ref:`Variant<class_variant>` what, :ref:`Variant<class_variant>` ...  **)**                              |
++------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Nil<class_nil>`                          | :ref:`printraw<class_@GDScript_printraw>`  **(** :ref:`Variant<class_variant>` what, :ref:`Variant<class_variant>` ...  **)**                              |
++------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Nil<class_nil>`                          | :ref:`prints<class_@GDScript_prints>`  **(** :ref:`Variant<class_variant>` what, :ref:`Variant<class_variant>` ...  **)**                                  |
++------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Nil<class_nil>`                          | :ref:`printt<class_@GDScript_printt>`  **(** :ref:`Variant<class_variant>` what, :ref:`Variant<class_variant>` ...  **)**                                  |
++------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`                      | :ref:`rad2deg<class_@GDScript_rad2deg>`  **(** :ref:`float<class_float>` rad  **)**                                                                        |
++------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`                      | :ref:`rand_range<class_@GDScript_rand_range>`  **(** :ref:`float<class_float>` from, :ref:`float<class_float>` to  **)**                                   |
++------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Array<class_array>`                      | :ref:`rand_seed<class_@GDScript_rand_seed>`  **(** :ref:`int<class_int>` seed  **)**                                                                       |
++------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`                      | :ref:`randf<class_@GDScript_randf>`  **(** **)**                                                                                                           |
++------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                          | :ref:`randi<class_@GDScript_randi>`  **(** **)**                                                                                                           |
++------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Nil<class_nil>`                          | :ref:`randomize<class_@GDScript_randomize>`  **(** **)**                                                                                                   |
++------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Array<class_array>`                      | :ref:`range<class_@GDScript_range>`  **(** :ref:`Variant<class_variant>` ...  **)**                                                                        |
++------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`                      | :ref:`round<class_@GDScript_round>`  **(** :ref:`float<class_float>` s  **)**                                                                              |
++------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Nil<class_nil>`                          | :ref:`seed<class_@GDScript_seed>`  **(** :ref:`int<class_int>` seed  **)**                                                                                 |
++------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`                      | :ref:`sign<class_@GDScript_sign>`  **(** :ref:`float<class_float>` s  **)**                                                                                |
++------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`                      | :ref:`sin<class_@GDScript_sin>`  **(** :ref:`float<class_float>` s  **)**                                                                                  |
++------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`                      | :ref:`sinh<class_@GDScript_sinh>`  **(** :ref:`float<class_float>` s  **)**                                                                                |
++------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`                      | :ref:`sqrt<class_@GDScript_sqrt>`  **(** :ref:`float<class_float>` s  **)**                                                                                |
++------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`                      | :ref:`stepify<class_@GDScript_stepify>`  **(** :ref:`float<class_float>` s, :ref:`float<class_float>` step  **)**                                          |
++------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_string>`                    | :ref:`str<class_@GDScript_str>`  **(** :ref:`Variant<class_variant>` what, :ref:`Variant<class_variant>` ...  **)**                                        |
++------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Variant<class_variant>`                  | :ref:`str2var<class_@GDScript_str2var>`  **(** :ref:`String<class_string>` string  **)**                                                                   |
++------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`                      | :ref:`tan<class_@GDScript_tan>`  **(** :ref:`float<class_float>` s  **)**                                                                                  |
++------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`                      | :ref:`tanh<class_@GDScript_tanh>`  **(** :ref:`float<class_float>` s  **)**                                                                                |
++------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                        | :ref:`type_exists<class_@GDScript_type_exists>`  **(** :ref:`String<class_string>` type  **)**                                                             |
++------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                          | :ref:`typeof<class_@GDScript_typeof>`  **(** :ref:`Variant<class_variant>` what  **)**                                                                     |
++------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`RawArray<class_rawarray>`                | :ref:`var2bytes<class_@GDScript_var2bytes>`  **(** :ref:`Variant<class_variant>` var  **)**                                                                |
++------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_string>`                    | :ref:`var2str<class_@GDScript_var2str>`  **(** :ref:`Variant<class_variant>` var  **)**                                                                    |
++------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`WeakRef<class_weakref>`                  | :ref:`weakref<class_@GDScript_weakref>`  **(** :ref:`Object<class_object>` obj  **)**                                                                      |
++------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`GDFunctionState<class_gdfunctionstate>`  | :ref:`yield<class_@GDScript_yield>`  **(** :ref:`Object<class_object>` object, :ref:`String<class_string>` signal  **)**                                   |
++------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
 
 Numeric Constants
 -----------------
@@ -209,7 +211,7 @@ Arc-tangent that takes a 2D vector as argument, returns the full -pi to +pi rang
 
 .. _class_@GDScript_bytes2var:
 
-- Variant  **bytes2var**  **(** :ref:`RawArray<class_rawarray>` bytes  **)**
+- :ref:`Variant<class_variant>`  **bytes2var**  **(** :ref:`RawArray<class_rawarray>` bytes  **)**
 
 Decode a byte array back to a value.
 
@@ -227,7 +229,7 @@ Clamp both values to a range.
 
 .. _class_@GDScript_convert:
 
-- :ref:`Object<class_object>`  **convert**  **(** Variant what, :ref:`int<class_int>` type  **)**
+- :ref:`Object<class_object>`  **convert**  **(** :ref:`Variant<class_variant>` what, :ref:`int<class_int>` type  **)**
 
 Convert from a type to another in the best way possible. The "type" parameter uses the enum TYPE\_\* in :ref:`@Global Scope<class_@global scope>`.
 
@@ -311,7 +313,7 @@ Return a reference to the specified function.
 
 .. _class_@GDScript_hash:
 
-- :ref:`int<class_int>`  **hash**  **(** Variant var:Variant  **)**
+- :ref:`int<class_int>`  **hash**  **(** :ref:`Variant<class_variant>` var:Variant  **)**
 
 Hash the variable passed and return an integer.
 
@@ -331,14 +333,10 @@ Get an object by its ID.
 
 - :ref:`float<class_float>`  **is_inf**  **(** :ref:`float<class_float>` s  **)**
 
-Return true if the float is infinite.
-
 .. _class_@GDScript_is_nan:
 
 - :ref:`float<class_float>`  **is_nan**  **(** :ref:`float<class_float>` s  **)**
 
-Return true if the float is not a number.
-
 .. _class_@GDScript_lerp:
 
 - :ref:`float<class_float>`  **lerp**  **(** :ref:`float<class_float>` from, :ref:`float<class_float>` to, :ref:`float<class_float>` weight  **)**
@@ -395,7 +393,7 @@ Preload a resource from the filesystem. The resource is loaded during script par
 
 .. _class_@GDScript_print:
 
-- :ref:`Nil<class_nil>`  **print**  **(** Variant what, Variant ...  **)**
+- :ref:`Nil<class_nil>`  **print**  **(** :ref:`Variant<class_variant>` what, :ref:`Variant<class_variant>` ...  **)**
 
 Print one or more arguments to strings in the best way possible to a console line.
 
@@ -407,25 +405,25 @@ Print a stack track at code location, only works when running with debugger turn
 
 .. _class_@GDScript_printerr:
 
-- :ref:`Nil<class_nil>`  **printerr**  **(** Variant what, Variant ...  **)**
+- :ref:`Nil<class_nil>`  **printerr**  **(** :ref:`Variant<class_variant>` what, :ref:`Variant<class_variant>` ...  **)**
 
 Print one or more arguments to strings in the best way possible to standard error line.
 
 .. _class_@GDScript_printraw:
 
-- :ref:`Nil<class_nil>`  **printraw**  **(** Variant what, Variant ...  **)**
+- :ref:`Nil<class_nil>`  **printraw**  **(** :ref:`Variant<class_variant>` what, :ref:`Variant<class_variant>` ...  **)**
 
 Print one or more arguments to strings in the best way possible to console. No newline is added at the end.
 
 .. _class_@GDScript_prints:
 
-- :ref:`Nil<class_nil>`  **prints**  **(** Variant what, Variant ...  **)**
+- :ref:`Nil<class_nil>`  **prints**  **(** :ref:`Variant<class_variant>` what, :ref:`Variant<class_variant>` ...  **)**
 
 Print one or more arguments to the console with a space between each argument.
 
 .. _class_@GDScript_printt:
 
-- :ref:`Nil<class_nil>`  **printt**  **(** Variant what, Variant ...  **)**
+- :ref:`Nil<class_nil>`  **printt**  **(** :ref:`Variant<class_variant>` what, :ref:`Variant<class_variant>` ...  **)**
 
 Print one or more arguments to the console with a tab between each argument.
 
@@ -443,7 +441,7 @@ Random range, any floating point value between 'from' and 'to'
 
 .. _class_@GDScript_rand_seed:
 
-- :ref:`Array<class_array>`  **rand_seed**  **(** :ref:`float<class_float>` seed  **)**
+- :ref:`Array<class_array>`  **rand_seed**  **(** :ref:`int<class_int>` seed  **)**
 
 Random from seed, pass a seed and an array with both number and new seed is returned.
 
@@ -467,7 +465,7 @@ Reset the seed of the random number generator with a new, different one.
 
 .. _class_@GDScript_range:
 
-- :ref:`Array<class_array>`  **range**  **(** Variant ...  **)**
+- :ref:`Array<class_array>`  **range**  **(** :ref:`Variant<class_variant>` ...  **)**
 
 Return an array with the given range. Range can be 1 argument N (0 to N-1), two arguments (initial, final-1) or three arguments (initial, final-1, increment).
 
@@ -479,7 +477,7 @@ Round to nearest integer.
 
 .. _class_@GDScript_seed:
 
-- :ref:`Nil<class_nil>`  **seed**  **(** :ref:`float<class_float>` seed  **)**
+- :ref:`Nil<class_nil>`  **seed**  **(** :ref:`int<class_int>` seed  **)**
 
 Set seed for the random number generator.
 
@@ -515,13 +513,13 @@ Snap float value to a given step.
 
 .. _class_@GDScript_str:
 
-- :ref:`String<class_string>`  **str**  **(** Variant what, Variant ...  **)**
+- :ref:`String<class_string>`  **str**  **(** :ref:`Variant<class_variant>` what, :ref:`Variant<class_variant>` ...  **)**
 
 Convert one or more arguments to strings in the best way possible.
 
 .. _class_@GDScript_str2var:
 
-- Variant  **str2var**  **(** :ref:`String<class_string>` string  **)**
+- :ref:`Variant<class_variant>`  **str2var**  **(** :ref:`String<class_string>` string  **)**
 
 Convert a formatted string that was returned by :ref:`var2str<class_@GDScript_var2str>` to the original value.
 
@@ -537,21 +535,25 @@ Standard tangent function.
 
 Hyperbolic tangent.
 
+.. _class_@GDScript_type_exists:
+
+- :ref:`bool<class_bool>`  **type_exists**  **(** :ref:`String<class_string>` type  **)**
+
 .. _class_@GDScript_typeof:
 
-- :ref:`int<class_int>`  **typeof**  **(** Variant what  **)**
+- :ref:`int<class_int>`  **typeof**  **(** :ref:`Variant<class_variant>` what  **)**
 
 Return the internal type of the given Variant object, using the TYPE\_\* enum in :ref:`@Global Scope<class_@global scope>`.
 
 .. _class_@GDScript_var2bytes:
 
-- :ref:`RawArray<class_rawarray>`  **var2bytes**  **(** Variant var  **)**
+- :ref:`RawArray<class_rawarray>`  **var2bytes**  **(** :ref:`Variant<class_variant>` var  **)**
 
 Encode a variable value to a byte array.
 
 .. _class_@GDScript_var2str:
 
-- :ref:`String<class_string>`  **var2str**  **(** Variant var  **)**
+- :ref:`String<class_string>`  **var2str**  **(** :ref:`Variant<class_variant>` var  **)**
 
 Convert a value to a formatted string that can later be parsed using :ref:`str2var<class_@GDScript_str2var>`.
 
@@ -563,12 +565,10 @@ Return a weak reference to an object.
 
 .. _class_@GDScript_yield:
 
-- :ref:`Nil<class_nil>`  **yield**  **(** :ref:`Object<class_object>` object, :ref:`String<class_string>` signal  **)**
-
-Stop the function execution and return the current state. Call resume on the state to resume execution. This makes the state invalid.
+- :ref:`GDFunctionState<class_gdfunctionstate>`  **yield**  **(** :ref:`Object<class_object>` object, :ref:`String<class_string>` signal  **)**
 
-Returns anything that was passed to the resume function call.
+Stop the function execution and return the current state. Call :ref:`GDFunctionState.resume<class_GDFunctionState_resume>` on the state to resume execution. This invalidates the state.
 
-If passed an object and a signal, the execution is resumed when the object's signal is emmited.
+Returns anything that was passed to the resume function call. If passed an object and a signal, the execution is resumed when the object's signal is emmited.
 
 

+ 14 - 0
classes/class_@global scope.rst

@@ -407,6 +407,7 @@ Numeric Constants
 - **ERR_FILE_EOF** = **18**
 - **ERR_CANT_OPEN** = **19**
 - **ERR_CANT_CREATE** = **20**
+- **ERR_PARSE_ERROR** = **43**
 - **ERROR_QUERY_FAILED** = **21**
 - **ERR_ALREADY_IN_USE** = **22**
 - **ERR_LOCKED** = **23**
@@ -448,7 +449,20 @@ Numeric Constants
 - **PROPERTY_USAGE_STORAGE** = **1** --- Property will be used as storage (default).
 - **PROPERTY_USAGE_EDITOR** = **2** --- Property will be visible in editor (default).
 - **PROPERTY_USAGE_NETWORK** = **4**
+- **PROPERTY_USAGE_EDITOR_HELPER** = **8**
+- **PROPERTY_USAGE_CHECKABLE** = **16**
+- **PROPERTY_USAGE_CHECKED** = **32**
+- **PROPERTY_USAGE_INTERNATIONALIZED** = **64**
+- **PROPERTY_USAGE_BUNDLE** = **128**
+- **PROPERTY_USAGE_CATEGORY** = **256**
+- **PROPERTY_USAGE_STORE_IF_NONZERO** = **512**
+- **PROPERTY_USAGE_STORE_IF_NONONE** = **1024**
+- **PROPERTY_USAGE_NO_INSTANCE_STATE** = **2048**
+- **PROPERTY_USAGE_RESTART_IF_CHANGED** = **4096**
+- **PROPERTY_USAGE_SCRIPT_VARIABLE** = **8192**
 - **PROPERTY_USAGE_DEFAULT** = **7** --- Default usage (storage and editor).
+- **PROPERTY_USAGE_DEFAULT_INTL** = **71**
+- **PROPERTY_USAGE_NOEDITOR** = **5**
 - **METHOD_FLAG_NORMAL** = **1**
 - **METHOD_FLAG_EDITOR** = **2**
 - **METHOD_FLAG_NOSCRIPT** = **4**

+ 40 - 0
classes/class_animatedsprite.rst

@@ -18,6 +18,8 @@ Sprite node that can use multiple textures for animation.
 Member Functions
 ----------------
 
++------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_string>`              | :ref:`get_animation<class_AnimatedSprite_get_animation>`  **(** **)** const                                                          |
 +------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`int<class_int>`                    | :ref:`get_frame<class_AnimatedSprite_get_frame>`  **(** **)** const                                                                  |
 +------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------+
@@ -33,6 +35,12 @@ Member Functions
 +------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`bool<class_bool>`                  | :ref:`is_flipped_v<class_AnimatedSprite_is_flipped_v>`  **(** **)** const                                                            |
 +------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                  | :ref:`is_playing<class_AnimatedSprite_is_playing>`  **(** **)** const                                                                |
++------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------+
+| void                                     | :ref:`play<class_AnimatedSprite_play>`  **(** :ref:`String<class_string>` anim=""  **)**                                             |
++------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------+
+| void                                     | :ref:`set_animation<class_AnimatedSprite_set_animation>`  **(** :ref:`String<class_string>` animation  **)**                         |
++------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------+
 | void                                     | :ref:`set_centered<class_AnimatedSprite_set_centered>`  **(** :ref:`bool<class_bool>` centered  **)**                                |
 +------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------+
 | void                                     | :ref:`set_flip_h<class_AnimatedSprite_set_flip_h>`  **(** :ref:`bool<class_bool>` flip_h  **)**                                      |
@@ -47,6 +55,8 @@ Member Functions
 +------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------+
 | void                                     | :ref:`set_sprite_frames<class_AnimatedSprite_set_sprite_frames>`  **(** :ref:`SpriteFrames<class_spriteframes>` sprite_frames  **)** |
 +------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------+
+| void                                     | :ref:`stop<class_AnimatedSprite_stop>`  **(** **)**                                                                                  |
++------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------+
 
 Signals
 -------
@@ -61,6 +71,12 @@ Sprite node that can use multiple textures for animation.
 Member Function Description
 ---------------------------
 
+.. _class_AnimatedSprite_get_animation:
+
+- :ref:`String<class_string>`  **get_animation**  **(** **)** const
+
+Return the name of the current animation set to the node.
+
 .. _class_AnimatedSprite_get_frame:
 
 - :ref:`int<class_int>`  **get_frame**  **(** **)** const
@@ -103,6 +119,24 @@ Return true if sprite is flipped horizontally.
 
 Return true if sprite is flipped vertically.
 
+.. _class_AnimatedSprite_is_playing:
+
+- :ref:`bool<class_bool>`  **is_playing**  **(** **)** const
+
+Return true if an animation if currently being played.
+
+.. _class_AnimatedSprite_play:
+
+- void  **play**  **(** :ref:`String<class_string>` anim=""  **)**
+
+Play the animation set in parameter. If no parameter is provided, the current animation is played.
+
+.. _class_AnimatedSprite_set_animation:
+
+- void  **set_animation**  **(** :ref:`String<class_string>` animation  **)**
+
+Set the current animation of the node and reinits the frame counter of the animation.
+
 .. _class_AnimatedSprite_set_centered:
 
 - void  **set_centered**  **(** :ref:`bool<class_bool>` centered  **)**
@@ -145,4 +179,10 @@ Set the offset of the sprite in the node origin. Position varies depending on wh
 
 Set the :ref:`SpriteFrames<class_spriteframes>` resource, which contains all frames.
 
+.. _class_AnimatedSprite_stop:
+
+- void  **stop**  **(** **)**
+
+Stop the current animation (does not reset the frame counter).
+
 

+ 58 - 10
classes/class_animatedsprite3d.rst

@@ -18,15 +18,25 @@ Brief Description
 Member Functions
 ----------------
 
-+--------------------------------+----------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`          | :ref:`get_frame<class_AnimatedSprite3D_get_frame>`  **(** **)** const                                                                  |
-+--------------------------------+----------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Texture<class_texture>`  | :ref:`get_sprite_frames<class_AnimatedSprite3D_get_sprite_frames>`  **(** **)** const                                                  |
-+--------------------------------+----------------------------------------------------------------------------------------------------------------------------------------+
-| void                           | :ref:`set_frame<class_AnimatedSprite3D_set_frame>`  **(** :ref:`int<class_int>` frame  **)**                                           |
-+--------------------------------+----------------------------------------------------------------------------------------------------------------------------------------+
-| void                           | :ref:`set_sprite_frames<class_AnimatedSprite3D_set_sprite_frames>`  **(** :ref:`SpriteFrames<class_spriteframes>` sprite_frames  **)** |
-+--------------------------------+----------------------------------------------------------------------------------------------------------------------------------------+
++------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_string>`              | :ref:`get_animation<class_AnimatedSprite3D_get_animation>`  **(** **)** const                                                          |
++------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                    | :ref:`get_frame<class_AnimatedSprite3D_get_frame>`  **(** **)** const                                                                  |
++------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`SpriteFrames<class_spriteframes>`  | :ref:`get_sprite_frames<class_AnimatedSprite3D_get_sprite_frames>`  **(** **)** const                                                  |
++------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                  | :ref:`is_playing<class_AnimatedSprite3D_is_playing>`  **(** **)** const                                                                |
++------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------+
+| void                                     | :ref:`play<class_AnimatedSprite3D_play>`  **(** :ref:`String<class_string>` anim=""  **)**                                             |
++------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------+
+| void                                     | :ref:`set_animation<class_AnimatedSprite3D_set_animation>`  **(** :ref:`String<class_string>` animation  **)**                         |
++------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------+
+| void                                     | :ref:`set_frame<class_AnimatedSprite3D_set_frame>`  **(** :ref:`int<class_int>` frame  **)**                                           |
++------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------+
+| void                                     | :ref:`set_sprite_frames<class_AnimatedSprite3D_set_sprite_frames>`  **(** :ref:`SpriteFrames<class_spriteframes>` sprite_frames  **)** |
++------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------+
+| void                                     | :ref:`stop<class_AnimatedSprite3D_stop>`  **(** **)**                                                                                  |
++------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------+
 
 Signals
 -------
@@ -36,20 +46,58 @@ Signals
 Member Function Description
 ---------------------------
 
+.. _class_AnimatedSprite3D_get_animation:
+
+- :ref:`String<class_string>`  **get_animation**  **(** **)** const
+
+Return the name of the current animation set to the node.
+
 .. _class_AnimatedSprite3D_get_frame:
 
 - :ref:`int<class_int>`  **get_frame**  **(** **)** const
 
+Return the visible frame index.
+
 .. _class_AnimatedSprite3D_get_sprite_frames:
 
-- :ref:`Texture<class_texture>`  **get_sprite_frames**  **(** **)** const
+- :ref:`SpriteFrames<class_spriteframes>`  **get_sprite_frames**  **(** **)** const
+
+Get the :ref:`SpriteFrames<class_spriteframes>` resource, which contains all frames.
+
+.. _class_AnimatedSprite3D_is_playing:
+
+- :ref:`bool<class_bool>`  **is_playing**  **(** **)** const
+
+Return true if an animation if currently being played.
+
+.. _class_AnimatedSprite3D_play:
+
+- void  **play**  **(** :ref:`String<class_string>` anim=""  **)**
+
+Play the animation set in parameter. If no parameter is provided, the current animation is played.
+
+.. _class_AnimatedSprite3D_set_animation:
+
+- void  **set_animation**  **(** :ref:`String<class_string>` animation  **)**
+
+Set the current animation of the node and reinits the frame counter of the animation.
 
 .. _class_AnimatedSprite3D_set_frame:
 
 - void  **set_frame**  **(** :ref:`int<class_int>` frame  **)**
 
+Set the visible sprite frame index (from the list of frames inside the :ref:`SpriteFrames<class_spriteframes>` resource).
+
 .. _class_AnimatedSprite3D_set_sprite_frames:
 
 - void  **set_sprite_frames**  **(** :ref:`SpriteFrames<class_spriteframes>` sprite_frames  **)**
 
+Set the :ref:`SpriteFrames<class_spriteframes>` resource, which contains all frames.
+
+.. _class_AnimatedSprite3D_stop:
+
+- void  **stop**  **(** **)**
+
+Stop the current animation (does not reset the frame counter).
+
 

+ 35 - 14
classes/class_animation.rst

@@ -63,7 +63,9 @@ Member Functions
 +----------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`int<class_int>`            | :ref:`track_get_type<class_Animation_track_get_type>`  **(** :ref:`int<class_int>` idx  **)** const                                                                                                                                                        |
 +----------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                             | :ref:`track_insert_key<class_Animation_track_insert_key>`  **(** :ref:`int<class_int>` idx, :ref:`float<class_float>` time, var key, :ref:`float<class_float>` transition=1  **)**                                                                         |
+| void                             | :ref:`track_insert_key<class_Animation_track_insert_key>`  **(** :ref:`int<class_int>` idx, :ref:`float<class_float>` time, :ref:`Variant<class_variant>` key, :ref:`float<class_float>` transition=1  **)**                                               |
++----------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`          | :ref:`track_is_imported<class_Animation_track_is_imported>`  **(** :ref:`int<class_int>` idx  **)** const                                                                                                                                                  |
 +----------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                             | :ref:`track_move_down<class_Animation_track_move_down>`  **(** :ref:`int<class_int>` idx  **)**                                                                                                                                                            |
 +----------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
@@ -73,11 +75,13 @@ Member Functions
 +----------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                             | :ref:`track_remove_key_at_pos<class_Animation_track_remove_key_at_pos>`  **(** :ref:`int<class_int>` idx, :ref:`float<class_float>` pos  **)**                                                                                                             |
 +----------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                             | :ref:`track_set_imported<class_Animation_track_set_imported>`  **(** :ref:`int<class_int>` idx, :ref:`bool<class_bool>` imported  **)**                                                                                                                    |
++----------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                             | :ref:`track_set_interpolation_type<class_Animation_track_set_interpolation_type>`  **(** :ref:`int<class_int>` idx, :ref:`int<class_int>` interpolation  **)**                                                                                             |
 +----------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                             | :ref:`track_set_key_transition<class_Animation_track_set_key_transition>`  **(** :ref:`int<class_int>` idx, :ref:`int<class_int>` key_idx, :ref:`float<class_float>` transition  **)**                                                                     |
 +----------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                             | :ref:`track_set_key_value<class_Animation_track_set_key_value>`  **(** :ref:`int<class_int>` idx, :ref:`int<class_int>` key, var value  **)**                                                                                                              |
+| void                             | :ref:`track_set_key_value<class_Animation_track_set_key_value>`  **(** :ref:`int<class_int>` idx, :ref:`int<class_int>` key, :ref:`Variant<class_variant>` value  **)**                                                                                    |
 +----------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                             | :ref:`track_set_path<class_Animation_track_set_path>`  **(** :ref:`int<class_int>` idx, :ref:`NodePath<class_nodepath>` path  **)**                                                                                                                        |
 +----------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
@@ -87,9 +91,9 @@ Member Functions
 +----------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`IntArray<class_intarray>`  | :ref:`value_track_get_key_indices<class_Animation_value_track_get_key_indices>`  **(** :ref:`int<class_int>` idx, :ref:`float<class_float>` time_sec, :ref:`float<class_float>` delta  **)** const                                                         |
 +----------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`          | :ref:`value_track_is_continuous<class_Animation_value_track_is_continuous>`  **(** :ref:`int<class_int>` idx  **)** const                                                                                                                                  |
+| :ref:`int<class_int>`            | :ref:`value_track_get_update_mode<class_Animation_value_track_get_update_mode>`  **(** :ref:`int<class_int>` idx  **)** const                                                                                                                              |
 +----------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                             | :ref:`value_track_set_continuous<class_Animation_value_track_set_continuous>`  **(** :ref:`int<class_int>` idx, :ref:`bool<class_bool>` continuous  **)**                                                                                                  |
+| void                             | :ref:`value_track_set_update_mode<class_Animation_value_track_set_update_mode>`  **(** :ref:`int<class_int>` idx, :ref:`int<class_int>` mode  **)**                                                                                                        |
 +----------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 
 Numeric Constants
@@ -101,6 +105,9 @@ Numeric Constants
 - **INTERPOLATION_NEAREST** = **0** --- No interpolation (nearest value).
 - **INTERPOLATION_LINEAR** = **1** --- Linear interpolation.
 - **INTERPOLATION_CUBIC** = **2** --- Cubic interpolation.
+- **UPDATE_CONTINUOUS** = **0**
+- **UPDATE_DISCRETE** = **1**
+- **UPDATE_TRIGGER** = **2**
 
 Description
 -----------
@@ -128,6 +135,8 @@ Clear the animation (clear all tracks and reset all).
 
 - :ref:`int<class_int>`  **find_track**  **(** :ref:`NodePath<class_nodepath>` path  **)** const
 
+Return the index of the specified track. If the track is not found, return -1.
+
 .. _class_Animation_get_length:
 
 - :ref:`float<class_float>`  **get_length**  **(** **)** const
@@ -138,6 +147,8 @@ Return the total length of the animation (in seconds).
 
 - :ref:`float<class_float>`  **get_step**  **(** **)** const
 
+Get the animation step value.
+
 .. _class_Animation_get_track_count:
 
 - :ref:`int<class_int>`  **get_track_count**  **(** **)** const
@@ -190,6 +201,8 @@ Set a flag indicating that the animation must loop. This is uses for correct int
 
 - void  **set_step**  **(** :ref:`float<class_float>` size_sec  **)**
 
+Set the animation step value.
+
 .. _class_Animation_track_find_key:
 
 - :ref:`int<class_int>`  **track_find_key**  **(** :ref:`int<class_int>` idx, :ref:`float<class_float>` time, :ref:`bool<class_bool>` exact=false  **)** const
@@ -240,10 +253,16 @@ Get the type of a track.
 
 .. _class_Animation_track_insert_key:
 
-- void  **track_insert_key**  **(** :ref:`int<class_int>` idx, :ref:`float<class_float>` time, var key, :ref:`float<class_float>` transition=1  **)**
+- void  **track_insert_key**  **(** :ref:`int<class_int>` idx, :ref:`float<class_float>` time, :ref:`Variant<class_variant>` key, :ref:`float<class_float>` transition=1  **)**
 
 Insert a generic key in a given track.
 
+.. _class_Animation_track_is_imported:
+
+- :ref:`bool<class_bool>`  **track_is_imported**  **(** :ref:`int<class_int>` idx  **)** const
+
+Return true if the given track is imported. Else, return false.
+
 .. _class_Animation_track_move_down:
 
 - void  **track_move_down**  **(** :ref:`int<class_int>` idx  **)**
@@ -268,6 +287,12 @@ Remove a key by index in a given track.
 
 Remove a key by position (seconds) in a given track.
 
+.. _class_Animation_track_set_imported:
+
+- void  **track_set_imported**  **(** :ref:`int<class_int>` idx, :ref:`bool<class_bool>` imported  **)**
+
+Set the given track as imported or not.
+
 .. _class_Animation_track_set_interpolation_type:
 
 - void  **track_set_interpolation_type**  **(** :ref:`int<class_int>` idx, :ref:`int<class_int>` interpolation  **)**
@@ -282,7 +307,7 @@ Set the transition curve (easing) for a specific key (see built-in math function
 
 .. _class_Animation_track_set_key_value:
 
-- void  **track_set_key_value**  **(** :ref:`int<class_int>` idx, :ref:`int<class_int>` key, var value  **)**
+- void  **track_set_key_value**  **(** :ref:`int<class_int>` idx, :ref:`int<class_int>` key, :ref:`Variant<class_variant>` value  **)**
 
 Set the value of an existing key.
 
@@ -310,16 +335,12 @@ Return the interpolated value of a transform track at a given time (in seconds).
 
 Return all the key indices of a value track, given a position and delta time.
 
-.. _class_Animation_value_track_is_continuous:
-
-- :ref:`bool<class_bool>`  **value_track_is_continuous**  **(** :ref:`int<class_int>` idx  **)** const
-
-Return whether interpolation is enabled or disabled for a whole track. By default tracks are interpolated.
+.. _class_Animation_value_track_get_update_mode:
 
-.. _class_Animation_value_track_set_continuous:
+- :ref:`int<class_int>`  **value_track_get_update_mode**  **(** :ref:`int<class_int>` idx  **)** const
 
-- void  **value_track_set_continuous**  **(** :ref:`int<class_int>` idx, :ref:`bool<class_bool>` continuous  **)**
+.. _class_Animation_value_track_set_update_mode:
 
-Enable or disable interpolation for a whole track. By default tracks are interpolated.
+- void  **value_track_set_update_mode**  **(** :ref:`int<class_int>` idx, :ref:`int<class_int>` mode  **)**
 
 

+ 2 - 3
classes/class_animationplayer.rst

@@ -100,6 +100,7 @@ Signals
 -------
 
 -  **animation_changed**  **(** :ref:`String<class_string>` old_name, :ref:`String<class_string>` new_name  **)**
+-  **animation_started**  **(** :ref:`String<class_string>` name  **)**
 -  **finished**  **(** **)**
 
 Numeric Constants
@@ -284,9 +285,7 @@ Seek the animation to a given position in time (in seconds). If 'update' is true
 
 - void  **set_active**  **(** :ref:`bool<class_bool>` active  **)**
 
-Set the player as active (playing). If false, it
-
-will do nothing.
+Set the player as active (playing). If false, it will do nothing.
 
 .. _class_AnimationPlayer_set_animation_process_mode:
 

+ 6 - 0
classes/class_animationtreeplayer.rst

@@ -29,6 +29,8 @@ Member Functions
 +----------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                   | :ref:`animation_node_set_animation<class_AnimationTreePlayer_animation_node_set_animation>`  **(** :ref:`String<class_string>` id, :ref:`Animation<class_animation>` animation  **)**                                         |
 +----------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                   | :ref:`animation_node_set_filter_path<class_AnimationTreePlayer_animation_node_set_filter_path>`  **(** :ref:`String<class_string>` id, :ref:`NodePath<class_nodepath>` path, :ref:`bool<class_bool>` enable  **)**            |
++----------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                   | :ref:`animation_node_set_master_animation<class_AnimationTreePlayer_animation_node_set_master_animation>`  **(** :ref:`String<class_string>` id, :ref:`String<class_string>` source  **)**                                    |
 +----------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`float<class_float>`              | :ref:`blend2_node_get_amount<class_AnimationTreePlayer_blend2_node_get_amount>`  **(** :ref:`String<class_string>` id  **)** const                                                                                            |
@@ -192,6 +194,10 @@ Add a node of a given type in the graph with given id.
 
 Set the animation for an animation node.
 
+.. _class_AnimationTreePlayer_animation_node_set_filter_path:
+
+- void  **animation_node_set_filter_path**  **(** :ref:`String<class_string>` id, :ref:`NodePath<class_nodepath>` path, :ref:`bool<class_bool>` enable  **)**
+
 .. _class_AnimationTreePlayer_animation_node_set_master_animation:
 
 - void  **animation_node_set_master_animation**  **(** :ref:`String<class_string>` id, :ref:`String<class_string>` source  **)**

+ 117 - 49
classes/class_area.rst

@@ -18,55 +18,71 @@ General purpose area detection and influence for 3D physics.
 Member Functions
 ----------------
 
-+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`      | :ref:`get_angular_damp<class_Area_get_angular_damp>`  **(** **)** const                                                         |
-+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`      | :ref:`get_gravity<class_Area_get_gravity>`  **(** **)** const                                                                   |
-+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`      | :ref:`get_gravity_distance_scale<class_Area_get_gravity_distance_scale>`  **(** **)** const                                     |
-+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Vector3<class_vector3>`  | :ref:`get_gravity_vector<class_Area_get_gravity_vector>`  **(** **)** const                                                     |
-+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`      | :ref:`get_linear_damp<class_Area_get_linear_damp>`  **(** **)** const                                                           |
-+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Array<class_array>`      | :ref:`get_overlapping_areas<class_Area_get_overlapping_areas>`  **(** **)** const                                               |
-+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Array<class_array>`      | :ref:`get_overlapping_bodies<class_Area_get_overlapping_bodies>`  **(** **)** const                                             |
-+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`      | :ref:`get_priority<class_Area_get_priority>`  **(** **)** const                                                                 |
-+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`          | :ref:`get_space_override_mode<class_Area_get_space_override_mode>`  **(** **)** const                                           |
-+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`        | :ref:`is_gravity_a_point<class_Area_is_gravity_a_point>`  **(** **)** const                                                     |
-+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`        | :ref:`is_monitorable<class_Area_is_monitorable>`  **(** **)** const                                                             |
-+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`        | :ref:`is_monitoring_enabled<class_Area_is_monitoring_enabled>`  **(** **)** const                                               |
-+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`        | :ref:`overlaps_area<class_Area_overlaps_area>`  **(** :ref:`Object<class_object>` area  **)** const                             |
-+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`        | :ref:`overlaps_body<class_Area_overlaps_body>`  **(** :ref:`Object<class_object>` body  **)** const                             |
-+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------+
-| void                           | :ref:`set_angular_damp<class_Area_set_angular_damp>`  **(** :ref:`float<class_float>` angular_damp  **)**                       |
-+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------+
-| void                           | :ref:`set_enable_monitoring<class_Area_set_enable_monitoring>`  **(** :ref:`bool<class_bool>` enable  **)**                     |
-+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------+
-| void                           | :ref:`set_gravity<class_Area_set_gravity>`  **(** :ref:`float<class_float>` gravity  **)**                                      |
-+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------+
-| void                           | :ref:`set_gravity_distance_scale<class_Area_set_gravity_distance_scale>`  **(** :ref:`float<class_float>` distance_scale  **)** |
-+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------+
-| void                           | :ref:`set_gravity_is_point<class_Area_set_gravity_is_point>`  **(** :ref:`bool<class_bool>` enable  **)**                       |
-+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------+
-| void                           | :ref:`set_gravity_vector<class_Area_set_gravity_vector>`  **(** :ref:`Vector3<class_vector3>` vector  **)**                     |
-+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------+
-| void                           | :ref:`set_linear_damp<class_Area_set_linear_damp>`  **(** :ref:`float<class_float>` linear_damp  **)**                          |
-+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------+
-| void                           | :ref:`set_monitorable<class_Area_set_monitorable>`  **(** :ref:`bool<class_bool>` enable  **)**                                 |
-+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------+
-| void                           | :ref:`set_priority<class_Area_set_priority>`  **(** :ref:`float<class_float>` priority  **)**                                   |
-+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------+
-| void                           | :ref:`set_space_override_mode<class_Area_set_space_override_mode>`  **(** :ref:`int<class_int>` enable  **)**                   |
-+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------+
++--------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`      | :ref:`get_angular_damp<class_Area_get_angular_damp>`  **(** **)** const                                                                 |
++--------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`          | :ref:`get_collision_mask<class_Area_get_collision_mask>`  **(** **)** const                                                             |
++--------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`        | :ref:`get_collision_mask_bit<class_Area_get_collision_mask_bit>`  **(** :ref:`int<class_int>` bit  **)** const                          |
++--------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`      | :ref:`get_gravity<class_Area_get_gravity>`  **(** **)** const                                                                           |
++--------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`      | :ref:`get_gravity_distance_scale<class_Area_get_gravity_distance_scale>`  **(** **)** const                                             |
++--------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Vector3<class_vector3>`  | :ref:`get_gravity_vector<class_Area_get_gravity_vector>`  **(** **)** const                                                             |
++--------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`          | :ref:`get_layer_mask<class_Area_get_layer_mask>`  **(** **)** const                                                                     |
++--------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`        | :ref:`get_layer_mask_bit<class_Area_get_layer_mask_bit>`  **(** :ref:`int<class_int>` bit  **)** const                                  |
++--------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`      | :ref:`get_linear_damp<class_Area_get_linear_damp>`  **(** **)** const                                                                   |
++--------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Array<class_array>`      | :ref:`get_overlapping_areas<class_Area_get_overlapping_areas>`  **(** **)** const                                                       |
++--------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Array<class_array>`      | :ref:`get_overlapping_bodies<class_Area_get_overlapping_bodies>`  **(** **)** const                                                     |
++--------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`      | :ref:`get_priority<class_Area_get_priority>`  **(** **)** const                                                                         |
++--------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`          | :ref:`get_space_override_mode<class_Area_get_space_override_mode>`  **(** **)** const                                                   |
++--------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`        | :ref:`is_gravity_a_point<class_Area_is_gravity_a_point>`  **(** **)** const                                                             |
++--------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`        | :ref:`is_monitorable<class_Area_is_monitorable>`  **(** **)** const                                                                     |
++--------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`        | :ref:`is_monitoring_enabled<class_Area_is_monitoring_enabled>`  **(** **)** const                                                       |
++--------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`        | :ref:`overlaps_area<class_Area_overlaps_area>`  **(** :ref:`Object<class_object>` area  **)** const                                     |
++--------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`        | :ref:`overlaps_body<class_Area_overlaps_body>`  **(** :ref:`Object<class_object>` body  **)** const                                     |
++--------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+
+| void                           | :ref:`set_angular_damp<class_Area_set_angular_damp>`  **(** :ref:`float<class_float>` angular_damp  **)**                               |
++--------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+
+| void                           | :ref:`set_collision_mask<class_Area_set_collision_mask>`  **(** :ref:`int<class_int>` collision_mask  **)**                             |
++--------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+
+| void                           | :ref:`set_collision_mask_bit<class_Area_set_collision_mask_bit>`  **(** :ref:`int<class_int>` bit, :ref:`bool<class_bool>` value  **)** |
++--------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+
+| void                           | :ref:`set_enable_monitoring<class_Area_set_enable_monitoring>`  **(** :ref:`bool<class_bool>` enable  **)**                             |
++--------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+
+| void                           | :ref:`set_gravity<class_Area_set_gravity>`  **(** :ref:`float<class_float>` gravity  **)**                                              |
++--------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+
+| void                           | :ref:`set_gravity_distance_scale<class_Area_set_gravity_distance_scale>`  **(** :ref:`float<class_float>` distance_scale  **)**         |
++--------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+
+| void                           | :ref:`set_gravity_is_point<class_Area_set_gravity_is_point>`  **(** :ref:`bool<class_bool>` enable  **)**                               |
++--------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+
+| void                           | :ref:`set_gravity_vector<class_Area_set_gravity_vector>`  **(** :ref:`Vector3<class_vector3>` vector  **)**                             |
++--------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+
+| void                           | :ref:`set_layer_mask<class_Area_set_layer_mask>`  **(** :ref:`int<class_int>` layer_mask  **)**                                         |
++--------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+
+| void                           | :ref:`set_layer_mask_bit<class_Area_set_layer_mask_bit>`  **(** :ref:`int<class_int>` bit, :ref:`bool<class_bool>` value  **)**         |
++--------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+
+| void                           | :ref:`set_linear_damp<class_Area_set_linear_damp>`  **(** :ref:`float<class_float>` linear_damp  **)**                                  |
++--------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+
+| void                           | :ref:`set_monitorable<class_Area_set_monitorable>`  **(** :ref:`bool<class_bool>` enable  **)**                                         |
++--------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+
+| void                           | :ref:`set_priority<class_Area_set_priority>`  **(** :ref:`float<class_float>` priority  **)**                                           |
++--------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+
+| void                           | :ref:`set_space_override_mode<class_Area_set_space_override_mode>`  **(** :ref:`int<class_int>` enable  **)**                           |
++--------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+
 
 Signals
 -------
@@ -94,6 +110,18 @@ Member Function Description
 
 Return the angular damp rate.
 
+.. _class_Area_get_collision_mask:
+
+- :ref:`int<class_int>`  **get_collision_mask**  **(** **)** const
+
+Return the physics layers this area can scan for collisions.
+
+.. _class_Area_get_collision_mask_bit:
+
+- :ref:`bool<class_bool>`  **get_collision_mask_bit**  **(** :ref:`int<class_int>` bit  **)** const
+
+Return an individual bit on the collision mask.
+
 .. _class_Area_get_gravity:
 
 - :ref:`float<class_float>`  **get_gravity**  **(** **)** const
@@ -112,6 +140,18 @@ Return the falloff factor for point gravity.
 
 Return the gravity vector. If gravity is a point (see :ref:`is_gravity_a_point<class_Area_is_gravity_a_point>`), this will be the attraction center.
 
+.. _class_Area_get_layer_mask:
+
+- :ref:`int<class_int>`  **get_layer_mask**  **(** **)** const
+
+Return the physics layer this area is in.
+
+.. _class_Area_get_layer_mask_bit:
+
+- :ref:`bool<class_bool>`  **get_layer_mask_bit**  **(** :ref:`int<class_int>` bit  **)** const
+
+Return an individual bit on the layer mask.
+
 .. _class_Area_get_linear_damp:
 
 - :ref:`float<class_float>`  **get_linear_damp**  **(** **)** const
@@ -180,6 +220,18 @@ Set the rate at which objects stop spinning in this area, if there are not any o
 
 In practice, as the fraction of speed lost gets smaller with each frame, a value of 1.0 does not mean the object will stop in exactly one second. Only when the physics calculations are done at 1 frame per second, it does stop in a second.
 
+.. _class_Area_set_collision_mask:
+
+- void  **set_collision_mask**  **(** :ref:`int<class_int>` collision_mask  **)**
+
+Set the physics layers this area can scan for collisions.
+
+.. _class_Area_set_collision_mask_bit:
+
+- void  **set_collision_mask_bit**  **(** :ref:`int<class_int>` bit, :ref:`bool<class_bool>` value  **)**
+
+Set/clear individual bits on the collision mask. This makes selecting the areas scanned easier.
+
 .. _class_Area_set_enable_monitoring:
 
 - void  **set_enable_monitoring**  **(** :ref:`bool<class_bool>` enable  **)**
@@ -214,6 +266,22 @@ Set the gravity vector. This vector does not have to be normalized.
 
 If gravity is a point (see :ref:`is_gravity_a_point<class_Area_is_gravity_a_point>`), this will be the attraction center.
 
+.. _class_Area_set_layer_mask:
+
+- void  **set_layer_mask**  **(** :ref:`int<class_int>` layer_mask  **)**
+
+Set the physics layers this area is in.
+
+Collidable objects can exist in any of 32 different layers. These layers are not visual, but more of a tagging system instead. A collidable can use these layers/tags to select with which objects it can collide, using :ref:`set_collision_mask<class_Area_set_collision_mask>`.
+
+A contact is detected if object A is in any of the layers that object B scans, or object B is in any layer scanned by object A.
+
+.. _class_Area_set_layer_mask_bit:
+
+- void  **set_layer_mask_bit**  **(** :ref:`int<class_int>` bit, :ref:`bool<class_bool>` value  **)**
+
+Set/clear individual bits on the layer mask. This makes getting an area in/out of only one layer easier.
+
 .. _class_Area_set_linear_damp:
 
 - void  **set_linear_damp**  **(** :ref:`float<class_float>` linear_damp  **)**

+ 36 - 4
classes/class_array.rst

@@ -35,11 +35,17 @@ Member Functions
 +----------------------------+-----------------------------------------------------------------------------------------------------------------------------+
 | void                       | :ref:`clear<class_Array_clear>`  **(** **)**                                                                                |
 +----------------------------+-----------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`      | :ref:`count<class_Array_count>`  **(** var value  **)**                                                                     |
++----------------------------+-----------------------------------------------------------------------------------------------------------------------------+
 | :ref:`bool<class_bool>`    | :ref:`empty<class_Array_empty>`  **(** **)**                                                                                |
 +----------------------------+-----------------------------------------------------------------------------------------------------------------------------+
 | void                       | :ref:`erase<class_Array_erase>`  **(** var value  **)**                                                                     |
 +----------------------------+-----------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`      | :ref:`find<class_Array_find>`  **(** var value  **)**                                                                       |
+| :ref:`int<class_int>`      | :ref:`find<class_Array_find>`  **(** var what, :ref:`int<class_int>` from=0  **)**                                          |
++----------------------------+-----------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`      | :ref:`find_last<class_Array_find_last>`  **(** var value  **)**                                                             |
++----------------------------+-----------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`    | :ref:`has<class_Array_has>`  **(** var value  **)**                                                                         |
 +----------------------------+-----------------------------------------------------------------------------------------------------------------------------+
 | :ref:`int<class_int>`      | :ref:`hash<class_Array_hash>`  **(** **)**                                                                                  |
 +----------------------------+-----------------------------------------------------------------------------------------------------------------------------+
@@ -61,6 +67,8 @@ Member Functions
 +----------------------------+-----------------------------------------------------------------------------------------------------------------------------+
 | void                       | :ref:`resize<class_Array_resize>`  **(** :ref:`int<class_int>` pos  **)**                                                   |
 +----------------------------+-----------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`      | :ref:`rfind<class_Array_rfind>`  **(** var what, :ref:`int<class_int>` from=-1  **)**                                       |
++----------------------------+-----------------------------------------------------------------------------------------------------------------------------+
 | :ref:`int<class_int>`      | :ref:`size<class_Array_size>`  **(** **)**                                                                                  |
 +----------------------------+-----------------------------------------------------------------------------------------------------------------------------+
 | void                       | :ref:`sort<class_Array_sort>`  **(** **)**                                                                                  |
@@ -71,7 +79,7 @@ Member Functions
 Description
 -----------
 
-Generic array, contains several elements of any type, accessible by numerical index starting at 0. Arrays are always passed by reference.
+Generic array, contains several elements of any type, accessible by numerical index starting at 0. Negative indices can be used to count from the right, like in Python. Arrays are always passed by reference.
 
 Member Function Description
 ---------------------------
@@ -130,6 +138,12 @@ Append an element at the end of the array (alias of :ref:`push_back<class_Array_
 
 Clear the array (resize to 0).
 
+.. _class_Array_count:
+
+- :ref:`int<class_int>`  **count**  **(** var value  **)**
+
+Return the amount of times an element is in the array.
+
 .. _class_Array_empty:
 
 - :ref:`bool<class_bool>`  **empty**  **(** **)**
@@ -144,9 +158,21 @@ Remove the first occurrence of a value from the array.
 
 .. _class_Array_find:
 
-- :ref:`int<class_int>`  **find**  **(** var value  **)**
+- :ref:`int<class_int>`  **find**  **(** var what, :ref:`int<class_int>` from=0  **)**
+
+Searches the array for a value and returns its index or -1 if not found. Optionally, the initial search index can be passed.
 
-Searches the array for a value and returns its index or -1 if not found.
+.. _class_Array_find_last:
+
+- :ref:`int<class_int>`  **find_last**  **(** var value  **)**
+
+Searches the array in reverse order for a value and returns its index or -1 if not found.
+
+.. _class_Array_has:
+
+- :ref:`bool<class_bool>`  **has**  **(** var value  **)**
+
+Return true if the array contains given value. ``:ref:` "inside", 7 <class_ "inside", 7 >`.has("inside") == true, :ref:` "inside", 7 <class_ "inside", 7 >`.has("outside") == false, :ref:` "inside", 7 <class_ "inside", 7 >`.has(7) == true, :ref:` "inside", 7 <class_ "inside", 7 >`.has("7") == false``
 
 .. _class_Array_hash:
 
@@ -208,6 +234,12 @@ Remove an element from the array by index.
 
 Resize the array to contain a different number of elements. If the array size is smaller, elements are cleared, if bigger, new elements are Null.
 
+.. _class_Array_rfind:
+
+- :ref:`int<class_int>`  **rfind**  **(** var what, :ref:`int<class_int>` from=-1  **)**
+
+Searches the array in reverse order. Optionally, a start search index can be passed. If negative, the start index is considered relative to the end of the array.
+
 .. _class_Array_size:
 
 - :ref:`int<class_int>`  **size**  **(** **)**

+ 5 - 0
classes/class_atlastexture.rst

@@ -32,6 +32,11 @@ Member Functions
 | void                           | :ref:`set_region<class_AtlasTexture_set_region>`  **(** :ref:`Rect2<class_rect2>` region  **)**  |
 +--------------------------------+--------------------------------------------------------------------------------------------------+
 
+Signals
+-------
+
+-  **atlas_changed**  **(** **)**
+
 Member Function Description
 ---------------------------
 

+ 36 - 0
classes/class_bakedlight.rst

@@ -57,6 +57,12 @@ Member Functions
 +----------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`float<class_float>`        | :ref:`get_plot_size<class_BakedLight_get_plot_size>`  **(** **)** const                                                                        |
 +----------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Color<class_color>`        | :ref:`get_realtime_color<class_BakedLight_get_realtime_color>`  **(** **)** const                                                              |
++----------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`          | :ref:`get_realtime_color_enabled<class_BakedLight_get_realtime_color_enabled>`  **(** **)** const                                              |
++----------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`        | :ref:`get_realtime_energy<class_BakedLight_get_realtime_energy>`  **(** **)** const                                                            |
++----------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`IntArray<class_intarray>`  | :ref:`get_sampler_octree<class_BakedLight_get_sampler_octree>`  **(** **)** const                                                              |
 +----------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`float<class_float>`        | :ref:`get_saturation<class_BakedLight_get_saturation>`  **(** **)** const                                                                      |
@@ -97,6 +103,12 @@ Member Functions
 +----------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                             | :ref:`set_plot_size<class_BakedLight_set_plot_size>`  **(** :ref:`float<class_float>` plot_size  **)**                                         |
 +----------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                             | :ref:`set_realtime_color<class_BakedLight_set_realtime_color>`  **(** :ref:`Color<class_color>` tint  **)**                                    |
++----------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                             | :ref:`set_realtime_color_enabled<class_BakedLight_set_realtime_color_enabled>`  **(** :ref:`bool<class_bool>` enabled  **)**                   |
++----------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                             | :ref:`set_realtime_energy<class_BakedLight_set_realtime_energy>`  **(** :ref:`float<class_float>` energy  **)**                                |
++----------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                             | :ref:`set_sampler_octree<class_BakedLight_set_sampler_octree>`  **(** :ref:`IntArray<class_intarray>` sampler_octree  **)**                    |
 +----------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                             | :ref:`set_saturation<class_BakedLight_set_saturation>`  **(** :ref:`float<class_float>` saturation  **)**                                      |
@@ -196,6 +208,18 @@ Member Function Description
 
 - :ref:`float<class_float>`  **get_plot_size**  **(** **)** const
 
+.. _class_BakedLight_get_realtime_color:
+
+- :ref:`Color<class_color>`  **get_realtime_color**  **(** **)** const
+
+.. _class_BakedLight_get_realtime_color_enabled:
+
+- :ref:`bool<class_bool>`  **get_realtime_color_enabled**  **(** **)** const
+
+.. _class_BakedLight_get_realtime_energy:
+
+- :ref:`float<class_float>`  **get_realtime_energy**  **(** **)** const
+
 .. _class_BakedLight_get_sampler_octree:
 
 - :ref:`IntArray<class_intarray>`  **get_sampler_octree**  **(** **)** const
@@ -276,6 +300,18 @@ Member Function Description
 
 - void  **set_plot_size**  **(** :ref:`float<class_float>` plot_size  **)**
 
+.. _class_BakedLight_set_realtime_color:
+
+- void  **set_realtime_color**  **(** :ref:`Color<class_color>` tint  **)**
+
+.. _class_BakedLight_set_realtime_color_enabled:
+
+- void  **set_realtime_color_enabled**  **(** :ref:`bool<class_bool>` enabled  **)**
+
+.. _class_BakedLight_set_realtime_energy:
+
+- void  **set_realtime_energy**  **(** :ref:`float<class_float>` energy  **)**
+
 .. _class_BakedLight_set_sampler_octree:
 
 - void  **set_sampler_octree**  **(** :ref:`IntArray<class_intarray>` sampler_octree  **)**

+ 54 - 26
classes/class_basebutton.rst

@@ -8,7 +8,7 @@ BaseButton
 
 **Inherits:** :ref:`Control<class_control>` **<** :ref:`CanvasItem<class_canvasitem>` **<** :ref:`Node<class_node>` **<** :ref:`Object<class_object>`
 
-**Inherited By:** :ref:`TextureButton<class_texturebutton>`, :ref:`Button<class_button>`
+**Inherited By:** :ref:`LinkButton<class_linkbutton>`, :ref:`TextureButton<class_texturebutton>`, :ref:`Button<class_button>`
 
 **Category:** Core
 
@@ -20,31 +20,39 @@ Provides a base class for different kinds of buttons.
 Member Functions
 ----------------
 
-+--------------------------+-------------------------------------------------------------------------------------------------------------+
-| void                     | :ref:`_pressed<class_BaseButton__pressed>`  **(** **)** virtual                                             |
-+--------------------------+-------------------------------------------------------------------------------------------------------------+
-| void                     | :ref:`_toggled<class_BaseButton__toggled>`  **(** :ref:`bool<class_bool>` pressed  **)** virtual            |
-+--------------------------+-------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`  | :ref:`get_click_on_press<class_BaseButton_get_click_on_press>`  **(** **)** const                           |
-+--------------------------+-------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`    | :ref:`get_draw_mode<class_BaseButton_get_draw_mode>`  **(** **)** const                                     |
-+--------------------------+-------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`  | :ref:`is_disabled<class_BaseButton_is_disabled>`  **(** **)** const                                         |
-+--------------------------+-------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`  | :ref:`is_hovered<class_BaseButton_is_hovered>`  **(** **)** const                                           |
-+--------------------------+-------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`  | :ref:`is_pressed<class_BaseButton_is_pressed>`  **(** **)** const                                           |
-+--------------------------+-------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`  | :ref:`is_toggle_mode<class_BaseButton_is_toggle_mode>`  **(** **)** const                                   |
-+--------------------------+-------------------------------------------------------------------------------------------------------------+
-| void                     | :ref:`set_click_on_press<class_BaseButton_set_click_on_press>`  **(** :ref:`bool<class_bool>` enable  **)** |
-+--------------------------+-------------------------------------------------------------------------------------------------------------+
-| void                     | :ref:`set_disabled<class_BaseButton_set_disabled>`  **(** :ref:`bool<class_bool>` disabled  **)**           |
-+--------------------------+-------------------------------------------------------------------------------------------------------------+
-| void                     | :ref:`set_pressed<class_BaseButton_set_pressed>`  **(** :ref:`bool<class_bool>` pressed  **)**              |
-+--------------------------+-------------------------------------------------------------------------------------------------------------+
-| void                     | :ref:`set_toggle_mode<class_BaseButton_set_toggle_mode>`  **(** :ref:`bool<class_bool>` enabled  **)**      |
-+--------------------------+-------------------------------------------------------------------------------------------------------------+
++------------------------------+-----------------------------------------------------------------------------------------------------------------+
+| void                         | :ref:`_pressed<class_BaseButton__pressed>`  **(** **)** virtual                                                 |
++------------------------------+-----------------------------------------------------------------------------------------------------------------+
+| void                         | :ref:`_toggled<class_BaseButton__toggled>`  **(** :ref:`bool<class_bool>` pressed  **)** virtual                |
++------------------------------+-----------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`      | :ref:`get_click_on_press<class_BaseButton_get_click_on_press>`  **(** **)** const                               |
++------------------------------+-----------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`        | :ref:`get_draw_mode<class_BaseButton_get_draw_mode>`  **(** **)** const                                         |
++------------------------------+-----------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`        | :ref:`get_enabled_focus_mode<class_BaseButton_get_enabled_focus_mode>`  **(** **)** const                       |
++------------------------------+-----------------------------------------------------------------------------------------------------------------+
+| :ref:`Object<class_object>`  | :ref:`get_shortcut<class_BaseButton_get_shortcut>`  **(** **)** const                                           |
++------------------------------+-----------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`      | :ref:`is_disabled<class_BaseButton_is_disabled>`  **(** **)** const                                             |
++------------------------------+-----------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`      | :ref:`is_hovered<class_BaseButton_is_hovered>`  **(** **)** const                                               |
++------------------------------+-----------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`      | :ref:`is_pressed<class_BaseButton_is_pressed>`  **(** **)** const                                               |
++------------------------------+-----------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`      | :ref:`is_toggle_mode<class_BaseButton_is_toggle_mode>`  **(** **)** const                                       |
++------------------------------+-----------------------------------------------------------------------------------------------------------------+
+| void                         | :ref:`set_click_on_press<class_BaseButton_set_click_on_press>`  **(** :ref:`bool<class_bool>` enable  **)**     |
++------------------------------+-----------------------------------------------------------------------------------------------------------------+
+| void                         | :ref:`set_disabled<class_BaseButton_set_disabled>`  **(** :ref:`bool<class_bool>` disabled  **)**               |
++------------------------------+-----------------------------------------------------------------------------------------------------------------+
+| void                         | :ref:`set_enabled_focus_mode<class_BaseButton_set_enabled_focus_mode>`  **(** :ref:`int<class_int>` mode  **)** |
++------------------------------+-----------------------------------------------------------------------------------------------------------------+
+| void                         | :ref:`set_pressed<class_BaseButton_set_pressed>`  **(** :ref:`bool<class_bool>` pressed  **)**                  |
++------------------------------+-----------------------------------------------------------------------------------------------------------------+
+| void                         | :ref:`set_shortcut<class_BaseButton_set_shortcut>`  **(** :ref:`Object<class_object>` shortcut  **)**           |
++------------------------------+-----------------------------------------------------------------------------------------------------------------+
+| void                         | :ref:`set_toggle_mode<class_BaseButton_set_toggle_mode>`  **(** :ref:`bool<class_bool>` enabled  **)**          |
++------------------------------+-----------------------------------------------------------------------------------------------------------------+
 
 Signals
 -------
@@ -93,6 +101,16 @@ Return the state of the click_on_press property (see :ref:`set_click_on_press<cl
 
 Return the visual state used to draw the button. This is useful mainly when implementing your own draw code by either overriding _draw() or connecting to "draw" signal. The visual state of the button is defined by the DRAW\_\* enum.
 
+.. _class_BaseButton_get_enabled_focus_mode:
+
+- :ref:`int<class_int>`  **get_enabled_focus_mode**  **(** **)** const
+
+Returns focus access mode used when switching between enabled/disabled (see :ref:`Control.set_focus_mode<class_Control_set_focus_mode>` and :ref:`set_disabled<class_BaseButton_set_disabled>`).
+
+.. _class_BaseButton_get_shortcut:
+
+- :ref:`Object<class_object>`  **get_shortcut**  **(** **)** const
+
 .. _class_BaseButton_is_disabled:
 
 - :ref:`bool<class_bool>`  **is_disabled**  **(** **)** const
@@ -129,12 +147,22 @@ Set the button click_on_press mode. This mode generates click events when a mous
 
 Set the button into disabled state. When a button is disabled, it can't be clicked or toggled.
 
+.. _class_BaseButton_set_enabled_focus_mode:
+
+- void  **set_enabled_focus_mode**  **(** :ref:`int<class_int>` mode  **)**
+
+Sets the focus access mode to use when switching between enabled/disabled (see :ref:`Control.set_focus_mode<class_Control_set_focus_mode>` and :ref:`set_disabled<class_BaseButton_set_disabled>`).
+
 .. _class_BaseButton_set_pressed:
 
 - void  **set_pressed**  **(** :ref:`bool<class_bool>` pressed  **)**
 
 Set the button to pressed state (only if toggle_mode is active).
 
+.. _class_BaseButton_set_shortcut:
+
+- void  **set_shortcut**  **(** :ref:`Object<class_object>` shortcut  **)**
+
 .. _class_BaseButton_set_toggle_mode:
 
 - void  **set_toggle_mode**  **(** :ref:`bool<class_bool>` enabled  **)**

+ 126 - 0
classes/class_bitmapfont.rst

@@ -0,0 +1,126 @@
+.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. DO NOT EDIT THIS FILE, but the doc/base/classes.xml source instead.
+
+.. _class_BitmapFont:
+
+BitmapFont
+==========
+
+**Inherits:** :ref:`Font<class_font>` **<** :ref:`Resource<class_resource>` **<** :ref:`Reference<class_reference>` **<** :ref:`Object<class_object>`
+
+**Category:** Core
+
+Brief Description
+-----------------
+
+
+
+Member Functions
+----------------
+
++--------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                           | :ref:`add_char<class_BitmapFont_add_char>`  **(** :ref:`int<class_int>` character, :ref:`int<class_int>` texture, :ref:`Rect2<class_rect2>` rect, :ref:`Vector2<class_vector2>` align=Vector2((0, 0)), :ref:`float<class_float>` advance=-1  **)** |
++--------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                           | :ref:`add_kerning_pair<class_BitmapFont_add_kerning_pair>`  **(** :ref:`int<class_int>` char_a, :ref:`int<class_int>` char_b, :ref:`int<class_int>` kerning  **)**                                                                                 |
++--------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                           | :ref:`add_texture<class_BitmapFont_add_texture>`  **(** :ref:`Texture<class_texture>` texture  **)**                                                                                                                                               |
++--------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                           | :ref:`clear<class_BitmapFont_clear>`  **(** **)**                                                                                                                                                                                                  |
++--------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`          | :ref:`create_from_fnt<class_BitmapFont_create_from_fnt>`  **(** :ref:`String<class_string>` path  **)**                                                                                                                                            |
++--------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Vector2<class_vector2>`  | :ref:`get_char_size<class_BitmapFont_get_char_size>`  **(** :ref:`int<class_int>` char, :ref:`int<class_int>` next=0  **)** const                                                                                                                  |
++--------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Object<class_object>`    | :ref:`get_fallback<class_BitmapFont_get_fallback>`  **(** **)** const                                                                                                                                                                              |
++--------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`          | :ref:`get_kerning_pair<class_BitmapFont_get_kerning_pair>`  **(** :ref:`int<class_int>` char_a, :ref:`int<class_int>` char_b  **)** const                                                                                                          |
++--------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Texture<class_texture>`  | :ref:`get_texture<class_BitmapFont_get_texture>`  **(** :ref:`int<class_int>` idx  **)** const                                                                                                                                                     |
++--------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`          | :ref:`get_texture_count<class_BitmapFont_get_texture_count>`  **(** **)** const                                                                                                                                                                    |
++--------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                           | :ref:`set_ascent<class_BitmapFont_set_ascent>`  **(** :ref:`float<class_float>` px  **)**                                                                                                                                                          |
++--------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                           | :ref:`set_distance_field_hint<class_BitmapFont_set_distance_field_hint>`  **(** :ref:`bool<class_bool>` enable  **)**                                                                                                                              |
++--------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                           | :ref:`set_fallback<class_BitmapFont_set_fallback>`  **(** :ref:`Object<class_object>` fallback  **)**                                                                                                                                              |
++--------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                           | :ref:`set_height<class_BitmapFont_set_height>`  **(** :ref:`float<class_float>` px  **)**                                                                                                                                                          |
++--------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+
+Member Function Description
+---------------------------
+
+.. _class_BitmapFont_add_char:
+
+- void  **add_char**  **(** :ref:`int<class_int>` character, :ref:`int<class_int>` texture, :ref:`Rect2<class_rect2>` rect, :ref:`Vector2<class_vector2>` align=Vector2((0, 0)), :ref:`float<class_float>` advance=-1  **)**
+
+Add a character to the font, where *character* is the unicode value, *texture* is the texture index, *rect* is the region in the texture (in pixels!), *align* is the (optional) alignment for the character and *advance* is the (optional) advance.
+
+.. _class_BitmapFont_add_kerning_pair:
+
+- void  **add_kerning_pair**  **(** :ref:`int<class_int>` char_a, :ref:`int<class_int>` char_b, :ref:`int<class_int>` kerning  **)**
+
+Add a kerning pair to the :ref:`BitmapFont<class_bitmapfont>` as a difference. Kerning pairs are special cases where a typeface advance is determined by the next character.
+
+.. _class_BitmapFont_add_texture:
+
+- void  **add_texture**  **(** :ref:`Texture<class_texture>` texture  **)**
+
+Add a texture to the :ref:`BitmapFont<class_bitmapfont>`.
+
+.. _class_BitmapFont_clear:
+
+- void  **clear**  **(** **)**
+
+Clear all the font data.
+
+.. _class_BitmapFont_create_from_fnt:
+
+- :ref:`int<class_int>`  **create_from_fnt**  **(** :ref:`String<class_string>` path  **)**
+
+.. _class_BitmapFont_get_char_size:
+
+- :ref:`Vector2<class_vector2>`  **get_char_size**  **(** :ref:`int<class_int>` char, :ref:`int<class_int>` next=0  **)** const
+
+Return the size of a character, optionally taking kerning into account if the next character is provided.
+
+.. _class_BitmapFont_get_fallback:
+
+- :ref:`Object<class_object>`  **get_fallback**  **(** **)** const
+
+.. _class_BitmapFont_get_kerning_pair:
+
+- :ref:`int<class_int>`  **get_kerning_pair**  **(** :ref:`int<class_int>` char_a, :ref:`int<class_int>` char_b  **)** const
+
+Return a kerning pair as a difference.
+
+.. _class_BitmapFont_get_texture:
+
+- :ref:`Texture<class_texture>`  **get_texture**  **(** :ref:`int<class_int>` idx  **)** const
+
+.. _class_BitmapFont_get_texture_count:
+
+- :ref:`int<class_int>`  **get_texture_count**  **(** **)** const
+
+.. _class_BitmapFont_set_ascent:
+
+- void  **set_ascent**  **(** :ref:`float<class_float>` px  **)**
+
+Set the font ascent (number of pixels above the baseline).
+
+.. _class_BitmapFont_set_distance_field_hint:
+
+- void  **set_distance_field_hint**  **(** :ref:`bool<class_bool>` enable  **)**
+
+.. _class_BitmapFont_set_fallback:
+
+- void  **set_fallback**  **(** :ref:`Object<class_object>` fallback  **)**
+
+.. _class_BitmapFont_set_height:
+
+- void  **set_height**  **(** :ref:`float<class_float>` px  **)**
+
+Set the total font height (ascent plus descent) in pixels.
+
+

+ 18 - 0
classes/class_camera2d.rst

@@ -18,6 +18,8 @@ Camera node for 2D scenes.
 Member Functions
 ----------------
 
++--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
+| void                           | :ref:`align<class_Camera2D_align>`  **(** **)**                                                                                          |
 +--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
 | void                           | :ref:`clear_current<class_Camera2D_clear_current>`  **(** **)**                                                                          |
 +--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
@@ -55,6 +57,8 @@ Member Functions
 +--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
 | void                           | :ref:`make_current<class_Camera2D_make_current>`  **(** **)**                                                                            |
 +--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
+| void                           | :ref:`reset_smoothing<class_Camera2D_reset_smoothing>`  **(** **)**                                                                      |
++--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
 | void                           | :ref:`set_anchor_mode<class_Camera2D_set_anchor_mode>`  **(** :ref:`int<class_int>` anchor_mode  **)**                                   |
 +--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
 | void                           | :ref:`set_drag_margin<class_Camera2D_set_drag_margin>`  **(** :ref:`int<class_int>` margin, :ref:`float<class_float>` drag_margin  **)** |
@@ -96,6 +100,12 @@ This node is intended to be a simple helper get get things going quickly and it
 Member Function Description
 ---------------------------
 
+.. _class_Camera2D_align:
+
+- void  **align**  **(** **)**
+
+Align the camera to the tracked node
+
 .. _class_Camera2D_clear_current:
 
 - void  **clear_current**  **(** **)**
@@ -182,6 +192,14 @@ Return true of this is the current camera (see :ref:`make_current<class_Camera2D
 
 Make this the current 2D camera for the scene (viewport and layer), in case there's many cameras in the scene.
 
+.. _class_Camera2D_reset_smoothing:
+
+- void  **reset_smoothing**  **(** **)**
+
+Set the camera's position immediately to its current smoothing destination.
+
+This has no effect if smoothing is disabled.
+
 .. _class_Camera2D_set_anchor_mode:
 
 - void  **set_anchor_mode**  **(** :ref:`int<class_int>` anchor_mode  **)**

+ 24 - 4
classes/class_canvasitem.rst

@@ -39,6 +39,8 @@ Member Functions
 +------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                                 | :ref:`draw_set_transform<class_CanvasItem_draw_set_transform>`  **(** :ref:`Vector2<class_vector2>` pos, :ref:`float<class_float>` rot, :ref:`Vector2<class_vector2>` scale  **)**                                                                                                             |
 +------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                                 | :ref:`draw_set_transform_matrix<class_CanvasItem_draw_set_transform_matrix>`  **(** :ref:`Matrix32<class_matrix32>` xform  **)**                                                                                                                                                               |
++------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                                 | :ref:`draw_string<class_CanvasItem_draw_string>`  **(** :ref:`Font<class_font>` font, :ref:`Vector2<class_vector2>` pos, :ref:`String<class_string>` text, :ref:`Color<class_color>` modulate=Color(1,1,1,1), :ref:`int<class_int>` clip_w=-1  **)**                                           |
 +------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                                 | :ref:`draw_style_box<class_CanvasItem_draw_style_box>`  **(** :ref:`StyleBox<class_stylebox>` style_box, :ref:`Rect2<class_rect2>` rect  **)**                                                                                                                                                 |
@@ -49,13 +51,13 @@ Member Functions
 +------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                                 | :ref:`draw_texture_rect_region<class_CanvasItem_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  **)** |
 +------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| Variant                                              | :ref:`edit_get_state<class_CanvasItem_edit_get_state>`  **(** **)** const                                                                                                                                                                                                                      |
+| :ref:`Variant<class_variant>`                        | :ref:`edit_get_state<class_CanvasItem_edit_get_state>`  **(** **)** const                                                                                                                                                                                                                      |
 +------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                                 | :ref:`edit_rotate<class_CanvasItem_edit_rotate>`  **(** :ref:`float<class_float>` degrees  **)**                                                                                                                                                                                               |
 +------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                                 | :ref:`edit_set_rect<class_CanvasItem_edit_set_rect>`  **(** :ref:`Rect2<class_rect2>` rect  **)**                                                                                                                                                                                              |
 +------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                                 | :ref:`edit_set_state<class_CanvasItem_edit_set_state>`  **(** var state  **)**                                                                                                                                                                                                                 |
+| void                                                 | :ref:`edit_set_state<class_CanvasItem_edit_set_state>`  **(** :ref:`Variant<class_variant>` state  **)**                                                                                                                                                                                       |
 +------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`int<class_int>`                                | :ref:`get_blend_mode<class_CanvasItem_get_blend_mode>`  **(** **)** const                                                                                                                                                                                                                      |
 +------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
@@ -71,6 +73,8 @@ Member Functions
 +------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`Matrix32<class_matrix32>`                      | :ref:`get_global_transform_with_canvas<class_CanvasItem_get_global_transform_with_canvas>`  **(** **)** const                                                                                                                                                                                  |
 +------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Rect2<class_rect2>`                            | :ref:`get_item_and_children_rect<class_CanvasItem_get_item_and_children_rect>`  **(** **)** const                                                                                                                                                                                              |
++------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`Rect2<class_rect2>`                            | :ref:`get_item_rect<class_CanvasItem_get_item_rect>`  **(** **)** const                                                                                                                                                                                                                        |
 +------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`int<class_int>`                                | :ref:`get_light_mask<class_CanvasItem_get_light_mask>`  **(** **)** const                                                                                                                                                                                                                      |
@@ -103,6 +107,8 @@ Member Functions
 +------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`bool<class_bool>`                              | :ref:`is_visible<class_CanvasItem_is_visible>`  **(** **)** const                                                                                                                                                                                                                              |
 +------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Vector2<class_vector2>`                        | :ref:`make_canvas_pos_local<class_CanvasItem_make_canvas_pos_local>`  **(** :ref:`Vector2<class_vector2>` screen_point  **)** const                                                                                                                                                            |
++------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`InputEvent<class_inputevent>`                  | :ref:`make_input_local<class_CanvasItem_make_input_local>`  **(** :ref:`InputEvent<class_inputevent>` event  **)** const                                                                                                                                                                       |
 +------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                                 | :ref:`set_as_toplevel<class_CanvasItem_set_as_toplevel>`  **(** :ref:`bool<class_bool>` enable  **)**                                                                                                                                                                                          |
@@ -220,6 +226,10 @@ Draw a colored rectangle.
 
 Set a custom transform for drawing. Anything drawn afterwards will be transformed by this.
 
+.. _class_CanvasItem_draw_set_transform_matrix:
+
+- void  **draw_set_transform_matrix**  **(** :ref:`Matrix32<class_matrix32>` xform  **)**
+
 .. _class_CanvasItem_draw_string:
 
 - void  **draw_string**  **(** :ref:`Font<class_font>` font, :ref:`Vector2<class_vector2>` pos, :ref:`String<class_string>` text, :ref:`Color<class_color>` modulate=Color(1,1,1,1), :ref:`int<class_int>` clip_w=-1  **)**
@@ -252,7 +262,7 @@ Draw a textured rectangle region at a given position, optionally modulated by a
 
 .. _class_CanvasItem_edit_get_state:
 
-- Variant  **edit_get_state**  **(** **)** const
+- :ref:`Variant<class_variant>`  **edit_get_state**  **(** **)** const
 
 Used for editing, returns an opaque value representing the transform state.
 
@@ -268,7 +278,7 @@ Used for editing, handle rotation.
 
 .. _class_CanvasItem_edit_set_state:
 
-- void  **edit_set_state**  **(** var state  **)**
+- void  **edit_set_state**  **(** :ref:`Variant<class_variant>` state  **)**
 
 Set the transform state of this CanvasItem. For :ref:`Node2D<class_node2d>`, this is an :ref:`Array<class_array>` with (in order) a :ref:`Vector2<class_vector2>` for position, a float for rotation and another :ref:`Vector2<class_vector2>` for scale. For :ref:`Control<class_control>` this is a :ref:`Rect2<class_rect2>` with the position and size.
 
@@ -314,6 +324,12 @@ Get the global transform matrix of this item.
 
 Get the global transform matrix of this item in relation to the canvas.
 
+.. _class_CanvasItem_get_item_and_children_rect:
+
+- :ref:`Rect2<class_rect2>`  **get_item_and_children_rect**  **(** **)** const
+
+Get a :ref:`Rect2<class_rect2>` with the boundaries of this item and its children.
+
 .. _class_CanvasItem_get_item_rect:
 
 - :ref:`Rect2<class_rect2>`  **get_item_rect**  **(** **)** const
@@ -410,6 +426,10 @@ Return if set as toplevel. See :ref:`set_as_toplevel<class_CanvasItem_set_as_top
 
 Return true if this CanvasItem is visible. It may be invisible because itself or a parent canvas item is hidden.
 
+.. _class_CanvasItem_make_canvas_pos_local:
+
+- :ref:`Vector2<class_vector2>`  **make_canvas_pos_local**  **(** :ref:`Vector2<class_vector2>` screen_point  **)** const
+
 .. _class_CanvasItem_make_input_local:
 
 - :ref:`InputEvent<class_inputevent>`  **make_input_local**  **(** :ref:`InputEvent<class_inputevent>` event  **)** const

+ 14 - 14
classes/class_canvasitemmaterial.rst

@@ -18,19 +18,19 @@ Brief Description
 Member Functions
 ----------------
 
-+------------------------------+-------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Shader<class_shader>`  | :ref:`get_shader<class_CanvasItemMaterial_get_shader>`  **(** **)** const                                                     |
-+------------------------------+-------------------------------------------------------------------------------------------------------------------------------+
-| void                         | :ref:`get_shader_param<class_CanvasItemMaterial_get_shader_param>`  **(** :ref:`String<class_string>` param  **)** const      |
-+------------------------------+-------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`        | :ref:`get_shading_mode<class_CanvasItemMaterial_get_shading_mode>`  **(** **)** const                                         |
-+------------------------------+-------------------------------------------------------------------------------------------------------------------------------+
-| void                         | :ref:`set_shader<class_CanvasItemMaterial_set_shader>`  **(** :ref:`Shader<class_shader>` shader  **)**                       |
-+------------------------------+-------------------------------------------------------------------------------------------------------------------------------+
-| void                         | :ref:`set_shader_param<class_CanvasItemMaterial_set_shader_param>`  **(** :ref:`String<class_string>` param, var value  **)** |
-+------------------------------+-------------------------------------------------------------------------------------------------------------------------------+
-| void                         | :ref:`set_shading_mode<class_CanvasItemMaterial_set_shading_mode>`  **(** :ref:`int<class_int>` mode  **)**                   |
-+------------------------------+-------------------------------------------------------------------------------------------------------------------------------+
++------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Shader<class_shader>`  | :ref:`get_shader<class_CanvasItemMaterial_get_shader>`  **(** **)** const                                                                               |
++------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                         | :ref:`get_shader_param<class_CanvasItemMaterial_get_shader_param>`  **(** :ref:`String<class_string>` param  **)** const                                |
++------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`        | :ref:`get_shading_mode<class_CanvasItemMaterial_get_shading_mode>`  **(** **)** const                                                                   |
++------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                         | :ref:`set_shader<class_CanvasItemMaterial_set_shader>`  **(** :ref:`Shader<class_shader>` shader  **)**                                                 |
++------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                         | :ref:`set_shader_param<class_CanvasItemMaterial_set_shader_param>`  **(** :ref:`String<class_string>` param, :ref:`Variant<class_variant>` value  **)** |
++------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                         | :ref:`set_shading_mode<class_CanvasItemMaterial_set_shading_mode>`  **(** :ref:`int<class_int>` mode  **)**                                             |
++------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------+
 
 Numeric Constants
 -----------------
@@ -60,7 +60,7 @@ Member Function Description
 
 .. _class_CanvasItemMaterial_set_shader_param:
 
-- void  **set_shader_param**  **(** :ref:`String<class_string>` param, var value  **)**
+- void  **set_shader_param**  **(** :ref:`String<class_string>` param, :ref:`Variant<class_variant>` value  **)**
 
 .. _class_CanvasItemMaterial_set_shading_mode:
 

+ 2 - 2
classes/class_collisionobject2d.rst

@@ -23,7 +23,7 @@ Member Functions
 +----------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                             | :ref:`_input_event<class_CollisionObject2D__input_event>`  **(** :ref:`Object<class_object>` viewport, :ref:`InputEvent<class_inputevent>` event, :ref:`int<class_int>` shape_idx  **)** virtual |
 +----------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                             | :ref:`add_shape<class_CollisionObject2D_add_shape>`  **(** :ref:`Shape2D<class_shape2d>` shape, :ref:`Matrix32<class_matrix32>` transform=1,0, 0,1, 0,0  **)**                                   |
+| void                             | :ref:`add_shape<class_CollisionObject2D_add_shape>`  **(** :ref:`Shape2D<class_shape2d>` shape, :ref:`Matrix32<class_matrix32>` transform=((1, 0), (0, 1), (0, 0))  **)**                        |
 +----------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                             | :ref:`clear_shapes<class_CollisionObject2D_clear_shapes>`  **(** **)**                                                                                                                           |
 +----------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
@@ -73,7 +73,7 @@ This method can be used to override normal input processing. The first parameter
 
 .. _class_CollisionObject2D_add_shape:
 
-- void  **add_shape**  **(** :ref:`Shape2D<class_shape2d>` shape, :ref:`Matrix32<class_matrix32>` transform=1,0, 0,1, 0,0  **)**
+- void  **add_shape**  **(** :ref:`Shape2D<class_shape2d>` shape, :ref:`Matrix32<class_matrix32>` transform=((1, 0), (0, 1), (0, 0))  **)**
 
 Add a :ref:`Shape2D<class_shape2d>` to the collision body, with a given custom transform.
 

+ 51 - 11
classes/class_colorarray.rst

@@ -16,17 +16,27 @@ Array of Colors
 Member Functions
 ----------------
 
-+--------------------------------------+-----------------------------------------------------------------------------------------------------------+
-| :ref:`ColorArray<class_colorarray>`  | :ref:`ColorArray<class_ColorArray_ColorArray>`  **(** :ref:`Array<class_array>` from  **)**               |
-+--------------------------------------+-----------------------------------------------------------------------------------------------------------+
-| void                                 | :ref:`push_back<class_ColorArray_push_back>`  **(** :ref:`Color<class_color>` color  **)**                |
-+--------------------------------------+-----------------------------------------------------------------------------------------------------------+
-| void                                 | :ref:`resize<class_ColorArray_resize>`  **(** :ref:`int<class_int>` idx  **)**                            |
-+--------------------------------------+-----------------------------------------------------------------------------------------------------------+
-| void                                 | :ref:`set<class_ColorArray_set>`  **(** :ref:`int<class_int>` idx, :ref:`Color<class_color>` color  **)** |
-+--------------------------------------+-----------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                | :ref:`size<class_ColorArray_size>`  **(** **)**                                                           |
-+--------------------------------------+-----------------------------------------------------------------------------------------------------------+
++--------------------------------------+-----------------------------------------------------------------------------------------------------------------+
+| :ref:`ColorArray<class_colorarray>`  | :ref:`ColorArray<class_ColorArray_ColorArray>`  **(** :ref:`Array<class_array>` from  **)**                     |
++--------------------------------------+-----------------------------------------------------------------------------------------------------------------+
+| void                                 | :ref:`append<class_ColorArray_append>`  **(** :ref:`Color<class_color>` color  **)**                            |
++--------------------------------------+-----------------------------------------------------------------------------------------------------------------+
+| void                                 | :ref:`append_array<class_ColorArray_append_array>`  **(** :ref:`ColorArray<class_colorarray>` array  **)**      |
++--------------------------------------+-----------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                | :ref:`insert<class_ColorArray_insert>`  **(** :ref:`int<class_int>` idx, :ref:`Color<class_color>` color  **)** |
++--------------------------------------+-----------------------------------------------------------------------------------------------------------------+
+| void                                 | :ref:`invert<class_ColorArray_invert>`  **(** **)**                                                             |
++--------------------------------------+-----------------------------------------------------------------------------------------------------------------+
+| void                                 | :ref:`push_back<class_ColorArray_push_back>`  **(** :ref:`Color<class_color>` color  **)**                      |
++--------------------------------------+-----------------------------------------------------------------------------------------------------------------+
+| void                                 | :ref:`remove<class_ColorArray_remove>`  **(** :ref:`int<class_int>` idx  **)**                                  |
++--------------------------------------+-----------------------------------------------------------------------------------------------------------------+
+| void                                 | :ref:`resize<class_ColorArray_resize>`  **(** :ref:`int<class_int>` idx  **)**                                  |
++--------------------------------------+-----------------------------------------------------------------------------------------------------------------+
+| void                                 | :ref:`set<class_ColorArray_set>`  **(** :ref:`int<class_int>` idx, :ref:`Color<class_color>` color  **)**       |
++--------------------------------------+-----------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                | :ref:`size<class_ColorArray_size>`  **(** **)**                                                                 |
++--------------------------------------+-----------------------------------------------------------------------------------------------------------------+
 
 Description
 -----------
@@ -42,12 +52,42 @@ Member Function Description
 
 Create from a generic array.
 
+.. _class_ColorArray_append:
+
+- void  **append**  **(** :ref:`Color<class_color>` color  **)**
+
+Append an element at the end of the array (alias of :ref:`push_back<class_ColorArray_push_back>`).
+
+.. _class_ColorArray_append_array:
+
+- void  **append_array**  **(** :ref:`ColorArray<class_colorarray>` array  **)**
+
+Append an :ref:`ColorArray<class_colorarray>` at the end of this array.
+
+.. _class_ColorArray_insert:
+
+- :ref:`int<class_int>`  **insert**  **(** :ref:`int<class_int>` idx, :ref:`Color<class_color>` color  **)**
+
+Insert a new element at a given position in the array. The position must be valid, or at the end of the array (pos==size()).
+
+.. _class_ColorArray_invert:
+
+- void  **invert**  **(** **)**
+
+Reverse the order of the elements in the array (so first element will now be the last).
+
 .. _class_ColorArray_push_back:
 
 - void  **push_back**  **(** :ref:`Color<class_color>` color  **)**
 
 Append a value to the array.
 
+.. _class_ColorArray_remove:
+
+- void  **remove**  **(** :ref:`int<class_int>` idx  **)**
+
+Remove an element from the array by index.
+
 .. _class_ColorArray_resize:
 
 - void  **resize**  **(** :ref:`int<class_int>` idx  **)**

+ 2 - 2
classes/class_colorpicker.rst

@@ -69,7 +69,7 @@ Returns whether the color has transparency or not.
 
 - :ref:`bool<class_bool>`  **is_raw_mode**  **(** **)** const
 
-Returns whether this color picker is in raw mode or not
+Returns whether this color picker is in raw mode or not, raw mode will allow the color R, G, B component values to go beyond 1, you have to consider that the max value for color components is 1, going beyond that value will not have effect in the color, but can be used for special operations that require it (like tinting without darkening or rendering sprites in HDR).
 
 .. _class_ColorPicker_set_color:
 
@@ -87,6 +87,6 @@ Set true if you want the color to have an alpha channel (transparency), or false
 
 - void  **set_raw_mode**  **(** :ref:`bool<class_bool>` mode  **)**
 
-When set to true, every color channel will be represented as a value from 0 to 1, insetead of 0, 255.
+Set whether this color picker is using raw mode or not, see :ref:`is_raw_mode<class_ColorPicker_is_raw_mode>`.
 
 

+ 22 - 22
classes/class_configfile.rst

@@ -18,23 +18,23 @@ Helper class to handle INI-style files.
 Member Functions
 ----------------
 
-+----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`StringArray<class_stringarray>`  | :ref:`get_section_keys<class_ConfigFile_get_section_keys>`  **(** :ref:`String<class_string>` section  **)** const                                      |
-+----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`StringArray<class_stringarray>`  | :ref:`get_sections<class_ConfigFile_get_sections>`  **(** **)** const                                                                                   |
-+----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------+
-| Variant                                | :ref:`get_value<class_ConfigFile_get_value>`  **(** :ref:`String<class_string>` section, :ref:`String<class_string>` key, var default=NULL  **)** const |
-+----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                | :ref:`has_section<class_ConfigFile_has_section>`  **(** :ref:`String<class_string>` section  **)** const                                                |
-+----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                | :ref:`has_section_key<class_ConfigFile_has_section_key>`  **(** :ref:`String<class_string>` section, :ref:`String<class_string>` key  **)** const       |
-+----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------+
-| Error                                  | :ref:`load<class_ConfigFile_load>`  **(** :ref:`String<class_string>` path  **)**                                                                       |
-+----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------+
-| Error                                  | :ref:`save<class_ConfigFile_save>`  **(** :ref:`String<class_string>` path  **)**                                                                       |
-+----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                   | :ref:`set_value<class_ConfigFile_set_value>`  **(** :ref:`String<class_string>` section, :ref:`String<class_string>` key, var value  **)**              |
-+----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------+
++----------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`StringArray<class_stringarray>`  | :ref:`get_section_keys<class_ConfigFile_get_section_keys>`  **(** :ref:`String<class_string>` section  **)** const                                                                |
++----------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`StringArray<class_stringarray>`  | :ref:`get_sections<class_ConfigFile_get_sections>`  **(** **)** const                                                                                                             |
++----------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Variant<class_variant>`          | :ref:`get_value<class_ConfigFile_get_value>`  **(** :ref:`String<class_string>` section, :ref:`String<class_string>` key, :ref:`Variant<class_variant>` default=NULL  **)** const |
++----------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                | :ref:`has_section<class_ConfigFile_has_section>`  **(** :ref:`String<class_string>` section  **)** const                                                                          |
++----------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                | :ref:`has_section_key<class_ConfigFile_has_section_key>`  **(** :ref:`String<class_string>` section, :ref:`String<class_string>` key  **)** const                                 |
++----------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| Error                                  | :ref:`load<class_ConfigFile_load>`  **(** :ref:`String<class_string>` path  **)**                                                                                                 |
++----------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| Error                                  | :ref:`save<class_ConfigFile_save>`  **(** :ref:`String<class_string>` path  **)**                                                                                                 |
++----------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                   | :ref:`set_value<class_ConfigFile_set_value>`  **(** :ref:`String<class_string>` section, :ref:`String<class_string>` key, :ref:`Variant<class_variant>` value  **)**              |
++----------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 
 Description
 -----------
@@ -51,10 +51,10 @@ The following example shows how to parse a INI-style file from the system, read
         # Look for the display/width pair, and default to 1024 if missing
         var screen_width = get_value("display", "width", 1024)
         # Store a variable if and only it hasn't been defined yet
-    if not config.has_section_key("audio", "mute"):
-        config.set_value("audio", "mute", false)
+        if not config.has_section_key("audio", "mute"):
+            config.set_value("audio", "mute", false)
         # Save the changes by overwriting the previous file
-    config.save("user://settings.cfg")
+        config.save("user://settings.cfg")
 
 Member Function Description
 ---------------------------
@@ -73,7 +73,7 @@ Return an array of all defined section identifiers.
 
 .. _class_ConfigFile_get_value:
 
-- Variant  **get_value**  **(** :ref:`String<class_string>` section, :ref:`String<class_string>` key, var default=NULL  **)** const
+- :ref:`Variant<class_variant>`  **get_value**  **(** :ref:`String<class_string>` section, :ref:`String<class_string>` key, :ref:`Variant<class_variant>` default=NULL  **)** const
 
 Return the current value for the specified section and key. If the section and/or the key do not exist, the method returns the value of the optional *default* argument (and thus ``NULL`` if not specified).
 
@@ -105,7 +105,7 @@ The return value is one of the OK, FAILED or ERR\_\* constants listed in :ref:`@
 
 .. _class_ConfigFile_set_value:
 
-- void  **set_value**  **(** :ref:`String<class_string>` section, :ref:`String<class_string>` key, var value  **)**
+- void  **set_value**  **(** :ref:`String<class_string>` section, :ref:`String<class_string>` key, :ref:`Variant<class_variant>` value  **)**
 
 Assign a value to the specified key of the the specified section. If the section and/or the key do not exist, they are created. Passing a ``NULL`` value deletes the specified key if it exists (and deletes the section if it ends up empty once the key has been removed).
 

+ 95 - 13
classes/class_control.rst

@@ -37,11 +37,11 @@ Member Functions
 +----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                             | :ref:`add_style_override<class_Control_add_style_override>`  **(** :ref:`String<class_string>` name, :ref:`StyleBox<class_stylebox>` stylebox  **)**                              |
 +----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`          | :ref:`can_drop_data<class_Control_can_drop_data>`  **(** :ref:`Vector2<class_vector2>` pos, var data  **)** virtual                                                               |
+| :ref:`bool<class_bool>`          | :ref:`can_drop_data<class_Control_can_drop_data>`  **(** :ref:`Vector2<class_vector2>` pos, :ref:`Variant<class_variant>` data  **)** virtual                                     |
 +----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                             | :ref:`drop_data<class_Control_drop_data>`  **(** :ref:`Vector2<class_vector2>` pos, var data  **)** virtual                                                                       |
+| void                             | :ref:`drop_data<class_Control_drop_data>`  **(** :ref:`Vector2<class_vector2>` pos, :ref:`Variant<class_variant>` data  **)** virtual                                             |
 +----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                             | :ref:`force_drag<class_Control_force_drag>`  **(** var data, :ref:`Object<class_object>` preview  **)**                                                                           |
+| void                             | :ref:`force_drag<class_Control_force_drag>`  **(** :ref:`Variant<class_variant>` data, :ref:`Object<class_object>` preview  **)**                                                 |
 +----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`int<class_int>`            | :ref:`get_anchor<class_Control_get_anchor>`  **(** :ref:`int<class_int>` margin  **)** const                                                                                      |
 +----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
@@ -53,7 +53,7 @@ Member Functions
 +----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`int<class_int>`            | :ref:`get_constant<class_Control_get_constant>`  **(** :ref:`String<class_string>` name, :ref:`String<class_string>` type=""  **)** const                                         |
 +----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`            | :ref:`get_cursor_shape<class_Control_get_cursor_shape>`  **(** :ref:`Vector2<class_vector2>` pos=Vector2(0,0)  **)** const                                                        |
+| :ref:`int<class_int>`            | :ref:`get_cursor_shape<class_Control_get_cursor_shape>`  **(** :ref:`Vector2<class_vector2>` pos=Vector2((0, 0))  **)** const                                                     |
 +----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`Vector2<class_vector2>`    | :ref:`get_custom_minimum_size<class_Control_get_custom_minimum_size>`  **(** **)** const                                                                                          |
 +----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
@@ -63,6 +63,8 @@ Member Functions
 +----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`Vector2<class_vector2>`    | :ref:`get_end<class_Control_get_end>`  **(** **)** const                                                                                                                          |
 +----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`            | :ref:`get_focus_mode<class_Control_get_focus_mode>`  **(** **)** const                                                                                                            |
++----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`NodePath<class_nodepath>`  | :ref:`get_focus_neighbour<class_Control_get_focus_neighbour>`  **(** :ref:`int<class_int>` margin  **)** const                                                                    |
 +----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`Control<class_control>`    | :ref:`get_focus_owner<class_Control_get_focus_owner>`  **(** **)** const                                                                                                          |
@@ -105,7 +107,7 @@ Member Functions
 +----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`Theme<class_theme>`        | :ref:`get_theme<class_Control_get_theme>`  **(** **)** const                                                                                                                      |
 +----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_string>`      | :ref:`get_tooltip<class_Control_get_tooltip>`  **(** :ref:`Vector2<class_vector2>` atpos=Vector2(0,0)  **)** const                                                                |
+| :ref:`String<class_string>`      | :ref:`get_tooltip<class_Control_get_tooltip>`  **(** :ref:`Vector2<class_vector2>` atpos=Vector2((0, 0))  **)** const                                                             |
 +----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`int<class_int>`            | :ref:`get_v_size_flags<class_Control_get_v_size_flags>`  **(** **)** const                                                                                                        |
 +----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
@@ -113,15 +115,37 @@ Member Functions
 +----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                             | :ref:`grab_focus<class_Control_grab_focus>`  **(** **)**                                                                                                                          |
 +----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`          | :ref:`has_color<class_Control_has_color>`  **(** :ref:`String<class_string>` name, :ref:`String<class_string>` type=""  **)** const                                               |
++----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`          | :ref:`has_color_override<class_Control_has_color_override>`  **(** :ref:`String<class_string>` name  **)** const                                                                  |
++----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`          | :ref:`has_constant<class_Control_has_constant>`  **(** :ref:`String<class_string>` name, :ref:`String<class_string>` type=""  **)** const                                         |
++----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`          | :ref:`has_constant_override<class_Control_has_constant_override>`  **(** :ref:`String<class_string>` name  **)** const                                                            |
++----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`bool<class_bool>`          | :ref:`has_focus<class_Control_has_focus>`  **(** **)** const                                                                                                                      |
 +----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`          | :ref:`has_font<class_Control_has_font>`  **(** :ref:`String<class_string>` name, :ref:`String<class_string>` type=""  **)** const                                                 |
++----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`          | :ref:`has_font_override<class_Control_has_font_override>`  **(** :ref:`String<class_string>` name  **)** const                                                                    |
++----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`          | :ref:`has_icon<class_Control_has_icon>`  **(** :ref:`String<class_string>` name, :ref:`String<class_string>` type=""  **)** const                                                 |
++----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`          | :ref:`has_icon_override<class_Control_has_icon_override>`  **(** :ref:`String<class_string>` name  **)** const                                                                    |
++----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`          | :ref:`has_stylebox<class_Control_has_stylebox>`  **(** :ref:`String<class_string>` name, :ref:`String<class_string>` type=""  **)** const                                         |
++----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`          | :ref:`has_stylebox_override<class_Control_has_stylebox_override>`  **(** :ref:`String<class_string>` name  **)** const                                                            |
++----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`bool<class_bool>`          | :ref:`is_ignoring_mouse<class_Control_is_ignoring_mouse>`  **(** **)** const                                                                                                      |
 +----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`bool<class_bool>`          | :ref:`is_stopping_mouse<class_Control_is_stopping_mouse>`  **(** **)** const                                                                                                      |
 +----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                             | :ref:`minimum_size_changed<class_Control_minimum_size_changed>`  **(** **)**                                                                                                      |
++----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                             | :ref:`release_focus<class_Control_release_focus>`  **(** **)**                                                                                                                    |
 +----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                             | :ref:`set_anchor<class_Control_set_anchor>`  **(** :ref:`int<class_int>` margin, :ref:`int<class_int>` anchor_mode  **)**                                                         |
+| void                             | :ref:`set_anchor<class_Control_set_anchor>`  **(** :ref:`int<class_int>` margin, :ref:`int<class_int>` anchor_mode, :ref:`bool<class_bool>` keep_margin=false  **)**              |
 +----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                             | :ref:`set_anchor_and_margin<class_Control_set_anchor_and_margin>`  **(** :ref:`int<class_int>` margin, :ref:`int<class_int>` anchor_mode, :ref:`float<class_float>` offset  **)** |
 +----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
@@ -133,6 +157,8 @@ Member Functions
 +----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                             | :ref:`set_default_cursor_shape<class_Control_set_default_cursor_shape>`  **(** :ref:`int<class_int>` shape  **)**                                                                 |
 +----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                             | :ref:`set_drag_forwarding<class_Control_set_drag_forwarding>`  **(** :ref:`Control<class_control>` target  **)**                                                                  |
++----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                             | :ref:`set_drag_preview<class_Control_set_drag_preview>`  **(** :ref:`Control<class_control>` control  **)**                                                                       |
 +----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                             | :ref:`set_end<class_Control_set_end>`  **(** :ref:`Vector2<class_vector2>` pos  **)**                                                                                             |
@@ -291,15 +317,15 @@ Override a single stylebox (:ref:`Stylebox<class_stylebox>`) in the theme of thi
 
 .. _class_Control_can_drop_data:
 
-- :ref:`bool<class_bool>`  **can_drop_data**  **(** :ref:`Vector2<class_vector2>` pos, var data  **)** virtual
+- :ref:`bool<class_bool>`  **can_drop_data**  **(** :ref:`Vector2<class_vector2>` pos, :ref:`Variant<class_variant>` data  **)** virtual
 
 .. _class_Control_drop_data:
 
-- void  **drop_data**  **(** :ref:`Vector2<class_vector2>` pos, var data  **)** virtual
+- void  **drop_data**  **(** :ref:`Vector2<class_vector2>` pos, :ref:`Variant<class_variant>` data  **)** virtual
 
 .. _class_Control_force_drag:
 
-- void  **force_drag**  **(** var data, :ref:`Object<class_object>` preview  **)**
+- void  **force_drag**  **(** :ref:`Variant<class_variant>` data, :ref:`Object<class_object>` preview  **)**
 
 .. _class_Control_get_anchor:
 
@@ -325,7 +351,7 @@ Return the anchor type (ANCHOR_BEGIN, ANCHOR_END, ANCHOR_RATIO) for a given marg
 
 .. _class_Control_get_cursor_shape:
 
-- :ref:`int<class_int>`  **get_cursor_shape**  **(** :ref:`Vector2<class_vector2>` pos=Vector2(0,0)  **)** const
+- :ref:`int<class_int>`  **get_cursor_shape**  **(** :ref:`Vector2<class_vector2>` pos=Vector2((0, 0))  **)** const
 
 Return the cursor shape at a certain position in the control.
 
@@ -349,6 +375,12 @@ Return the default cursor shape for this control. See enum CURSOR\_\* for the li
 
 Returns MARGIN_LEFT and MARGIN_TOP at the same time. This is a helper (see :ref:`set_margin<class_Control_set_margin>`).
 
+.. _class_Control_get_focus_mode:
+
+- :ref:`int<class_int>`  **get_focus_mode**  **(** **)** const
+
+Returns the focus access mode for the control (FOCUS_NONE, FOCUS_CLICK, FOCUS_ALL) (see :ref:`set_focus_mode<class_Control_set_focus_mode>`).
+
 .. _class_Control_get_focus_neighbour:
 
 - :ref:`NodePath<class_nodepath>`  **get_focus_neighbour**  **(** :ref:`int<class_int>` margin  **)** const
@@ -461,7 +493,7 @@ Return a :ref:`Theme<class_theme>` override, if one exists (see :ref:`set_theme<
 
 .. _class_Control_get_tooltip:
 
-- :ref:`String<class_string>`  **get_tooltip**  **(** :ref:`Vector2<class_vector2>` atpos=Vector2(0,0)  **)** const
+- :ref:`String<class_string>`  **get_tooltip**  **(** :ref:`Vector2<class_vector2>` atpos=Vector2((0, 0))  **)** const
 
 Return the tooltip, which will appear when the cursor is resting over this control.
 
@@ -481,12 +513,52 @@ Hint for containers, return vertical positioning flags.
 
 Steal the focus from another control and become the focused control (see :ref:`set_focus_mode<class_Control_set_focus_mode>`).
 
+.. _class_Control_has_color:
+
+- :ref:`bool<class_bool>`  **has_color**  **(** :ref:`String<class_string>` name, :ref:`String<class_string>` type=""  **)** const
+
+.. _class_Control_has_color_override:
+
+- :ref:`bool<class_bool>`  **has_color_override**  **(** :ref:`String<class_string>` name  **)** const
+
+.. _class_Control_has_constant:
+
+- :ref:`bool<class_bool>`  **has_constant**  **(** :ref:`String<class_string>` name, :ref:`String<class_string>` type=""  **)** const
+
+.. _class_Control_has_constant_override:
+
+- :ref:`bool<class_bool>`  **has_constant_override**  **(** :ref:`String<class_string>` name  **)** const
+
 .. _class_Control_has_focus:
 
 - :ref:`bool<class_bool>`  **has_focus**  **(** **)** const
 
 Return whether the Control is the current focused control (see :ref:`set_focus_mode<class_Control_set_focus_mode>`).
 
+.. _class_Control_has_font:
+
+- :ref:`bool<class_bool>`  **has_font**  **(** :ref:`String<class_string>` name, :ref:`String<class_string>` type=""  **)** const
+
+.. _class_Control_has_font_override:
+
+- :ref:`bool<class_bool>`  **has_font_override**  **(** :ref:`String<class_string>` name  **)** const
+
+.. _class_Control_has_icon:
+
+- :ref:`bool<class_bool>`  **has_icon**  **(** :ref:`String<class_string>` name, :ref:`String<class_string>` type=""  **)** const
+
+.. _class_Control_has_icon_override:
+
+- :ref:`bool<class_bool>`  **has_icon_override**  **(** :ref:`String<class_string>` name  **)** const
+
+.. _class_Control_has_stylebox:
+
+- :ref:`bool<class_bool>`  **has_stylebox**  **(** :ref:`String<class_string>` name, :ref:`String<class_string>` type=""  **)** const
+
+.. _class_Control_has_stylebox_override:
+
+- :ref:`bool<class_bool>`  **has_stylebox_override**  **(** :ref:`String<class_string>` name  **)** const
+
 .. _class_Control_is_ignoring_mouse:
 
 - :ref:`bool<class_bool>`  **is_ignoring_mouse**  **(** **)** const
@@ -497,6 +569,10 @@ Return if the control is ignoring mouse events (even touchpad events send mouse
 
 - :ref:`bool<class_bool>`  **is_stopping_mouse**  **(** **)** const
 
+.. _class_Control_minimum_size_changed:
+
+- void  **minimum_size_changed**  **(** **)**
+
 .. _class_Control_release_focus:
 
 - void  **release_focus**  **(** **)**
@@ -505,9 +581,11 @@ Give up the focus, no other control will be able to receive keyboard input.
 
 .. _class_Control_set_anchor:
 
-- void  **set_anchor**  **(** :ref:`int<class_int>` margin, :ref:`int<class_int>` anchor_mode  **)**
+- void  **set_anchor**  **(** :ref:`int<class_int>` margin, :ref:`int<class_int>` anchor_mode, :ref:`bool<class_bool>` keep_margin=false  **)**
+
+Change the anchor (ANCHOR_BEGIN, ANCHOR_END, ANCHOR_RATIO) type for a margin (MARGIN_LEFT, MARGIN_TOP, MARGIN_RIGHT, MARGIN_BOTTOM). Changing the anchor mode converts the current margin offset from the previous anchor mode to the new one, so margin offsets (:ref:`set_margin<class_Control_set_margin>`) must be done after setting anchors, or at the same time (:ref:`set_anchor_and_margin<class_Control_set_anchor_and_margin>`)
 
-Change the anchor (ANCHOR_BEGIN, ANCHOR_END, ANCHOR_RATIO) type for a margin (MARGIN_LEFT, MARGIN_TOP, MARGIN_RIGHT, MARGIN_BOTTOM). Changing the anchor mode converts the current margin offset from the previous anchor mode to the new one, so margin offsets (:ref:`set_margin<class_Control_set_margin>`) must be done after setting anchors, or at the same time (:ref:`set_anchor_and_margin<class_Control_set_anchor_and_margin>`).
+Additionally, ``keep_margin`` controls whether margins should be left the same, or changed to keep the same position and size on-screen.
 
 .. _class_Control_set_anchor_and_margin:
 
@@ -537,6 +615,10 @@ Sets MARGIN_LEFT and MARGIN_TOP at the same time. This is a helper (see :ref:`se
 
 Set the default cursor shape for this control. See enum CURSOR\_\* for the list of shapes.
 
+.. _class_Control_set_drag_forwarding:
+
+- void  **set_drag_forwarding**  **(** :ref:`Control<class_control>` target  **)**
+
 .. _class_Control_set_drag_preview:
 
 - void  **set_drag_preview**  **(** :ref:`Control<class_control>` control  **)**

+ 36 - 36
classes/class_curve2d.rst

@@ -18,41 +18,41 @@ Describes a Bezier curve in 2D space.
 Member Functions
 ----------------
 
-+------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                     | :ref:`add_point<class_Curve2D_add_point>`  **(** :ref:`Vector2<class_vector2>` pos, :ref:`Vector2<class_vector2>` in=Vector2(0,0), :ref:`Vector2<class_vector2>` out=Vector2(0,0), :ref:`int<class_int>` atpos=-1  **)** |
-+------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`                | :ref:`get_bake_interval<class_Curve2D_get_bake_interval>`  **(** **)** const                                                                                                                                             |
-+------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`                | :ref:`get_baked_length<class_Curve2D_get_baked_length>`  **(** **)** const                                                                                                                                               |
-+------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Vector2Array<class_vector2array>`  | :ref:`get_baked_points<class_Curve2D_get_baked_points>`  **(** **)** const                                                                                                                                               |
-+------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                    | :ref:`get_point_count<class_Curve2D_get_point_count>`  **(** **)** const                                                                                                                                                 |
-+------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Vector2<class_vector2>`            | :ref:`get_point_in<class_Curve2D_get_point_in>`  **(** :ref:`int<class_int>` idx  **)** const                                                                                                                            |
-+------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Vector2<class_vector2>`            | :ref:`get_point_out<class_Curve2D_get_point_out>`  **(** :ref:`int<class_int>` idx  **)** const                                                                                                                          |
-+------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Vector2<class_vector2>`            | :ref:`get_point_pos<class_Curve2D_get_point_pos>`  **(** :ref:`int<class_int>` idx  **)** const                                                                                                                          |
-+------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Vector2<class_vector2>`            | :ref:`interpolate<class_Curve2D_interpolate>`  **(** :ref:`int<class_int>` idx, :ref:`float<class_float>` t  **)** const                                                                                                 |
-+------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Vector2<class_vector2>`            | :ref:`interpolate_baked<class_Curve2D_interpolate_baked>`  **(** :ref:`float<class_float>` offset, :ref:`bool<class_bool>` cubic=false  **)** const                                                                      |
-+------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Vector2<class_vector2>`            | :ref:`interpolatef<class_Curve2D_interpolatef>`  **(** :ref:`float<class_float>` fofs  **)** const                                                                                                                       |
-+------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                     | :ref:`remove_point<class_Curve2D_remove_point>`  **(** :ref:`int<class_int>` idx  **)**                                                                                                                                  |
-+------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                     | :ref:`set_bake_interval<class_Curve2D_set_bake_interval>`  **(** :ref:`float<class_float>` distance  **)**                                                                                                               |
-+------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                     | :ref:`set_point_in<class_Curve2D_set_point_in>`  **(** :ref:`int<class_int>` idx, :ref:`Vector2<class_vector2>` pos  **)**                                                                                               |
-+------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                     | :ref:`set_point_out<class_Curve2D_set_point_out>`  **(** :ref:`int<class_int>` idx, :ref:`Vector2<class_vector2>` pos  **)**                                                                                             |
-+------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                     | :ref:`set_point_pos<class_Curve2D_set_point_pos>`  **(** :ref:`int<class_int>` idx, :ref:`Vector2<class_vector2>` pos  **)**                                                                                             |
-+------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Vector2Array<class_vector2array>`  | :ref:`tesselate<class_Curve2D_tesselate>`  **(** :ref:`int<class_int>` max_stages=5, :ref:`float<class_float>` tolerance_degrees=4  **)** const                                                                          |
-+------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
++------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                     | :ref:`add_point<class_Curve2D_add_point>`  **(** :ref:`Vector2<class_vector2>` pos, :ref:`Vector2<class_vector2>` in=Vector2((0, 0)), :ref:`Vector2<class_vector2>` out=Vector2((0, 0)), :ref:`int<class_int>` atpos=-1  **)** |
++------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`                | :ref:`get_bake_interval<class_Curve2D_get_bake_interval>`  **(** **)** const                                                                                                                                                   |
++------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`                | :ref:`get_baked_length<class_Curve2D_get_baked_length>`  **(** **)** const                                                                                                                                                     |
++------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Vector2Array<class_vector2array>`  | :ref:`get_baked_points<class_Curve2D_get_baked_points>`  **(** **)** const                                                                                                                                                     |
++------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                    | :ref:`get_point_count<class_Curve2D_get_point_count>`  **(** **)** const                                                                                                                                                       |
++------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Vector2<class_vector2>`            | :ref:`get_point_in<class_Curve2D_get_point_in>`  **(** :ref:`int<class_int>` idx  **)** const                                                                                                                                  |
++------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Vector2<class_vector2>`            | :ref:`get_point_out<class_Curve2D_get_point_out>`  **(** :ref:`int<class_int>` idx  **)** const                                                                                                                                |
++------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Vector2<class_vector2>`            | :ref:`get_point_pos<class_Curve2D_get_point_pos>`  **(** :ref:`int<class_int>` idx  **)** const                                                                                                                                |
++------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Vector2<class_vector2>`            | :ref:`interpolate<class_Curve2D_interpolate>`  **(** :ref:`int<class_int>` idx, :ref:`float<class_float>` t  **)** const                                                                                                       |
++------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Vector2<class_vector2>`            | :ref:`interpolate_baked<class_Curve2D_interpolate_baked>`  **(** :ref:`float<class_float>` offset, :ref:`bool<class_bool>` cubic=false  **)** const                                                                            |
++------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Vector2<class_vector2>`            | :ref:`interpolatef<class_Curve2D_interpolatef>`  **(** :ref:`float<class_float>` fofs  **)** const                                                                                                                             |
++------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                     | :ref:`remove_point<class_Curve2D_remove_point>`  **(** :ref:`int<class_int>` idx  **)**                                                                                                                                        |
++------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                     | :ref:`set_bake_interval<class_Curve2D_set_bake_interval>`  **(** :ref:`float<class_float>` distance  **)**                                                                                                                     |
++------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                     | :ref:`set_point_in<class_Curve2D_set_point_in>`  **(** :ref:`int<class_int>` idx, :ref:`Vector2<class_vector2>` pos  **)**                                                                                                     |
++------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                     | :ref:`set_point_out<class_Curve2D_set_point_out>`  **(** :ref:`int<class_int>` idx, :ref:`Vector2<class_vector2>` pos  **)**                                                                                                   |
++------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                     | :ref:`set_point_pos<class_Curve2D_set_point_pos>`  **(** :ref:`int<class_int>` idx, :ref:`Vector2<class_vector2>` pos  **)**                                                                                                   |
++------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Vector2Array<class_vector2array>`  | :ref:`tesselate<class_Curve2D_tesselate>`  **(** :ref:`int<class_int>` max_stages=5, :ref:`float<class_float>` tolerance_degrees=4  **)** const                                                                                |
++------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 
 Description
 -----------
@@ -66,7 +66,7 @@ Member Function Description
 
 .. _class_Curve2D_add_point:
 
-- void  **add_point**  **(** :ref:`Vector2<class_vector2>` pos, :ref:`Vector2<class_vector2>` in=Vector2(0,0), :ref:`Vector2<class_vector2>` out=Vector2(0,0), :ref:`int<class_int>` atpos=-1  **)**
+- void  **add_point**  **(** :ref:`Vector2<class_vector2>` pos, :ref:`Vector2<class_vector2>` in=Vector2((0, 0)), :ref:`Vector2<class_vector2>` out=Vector2((0, 0)), :ref:`int<class_int>` atpos=-1  **)**
 
 Adds a point to a curve, at position "pos", with control points "in" and "out".
 

+ 42 - 42
classes/class_curve3d.rst

@@ -18,47 +18,47 @@ Describes a Bezier curve in 3D space.
 Member Functions
 ----------------
 
-+------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                     | :ref:`add_point<class_Curve3D_add_point>`  **(** :ref:`Vector3<class_vector3>` pos, :ref:`Vector3<class_vector3>` in=Vector3(0, 0, 0), :ref:`Vector3<class_vector3>` out=Vector3(0, 0, 0), :ref:`int<class_int>` atpos=-1  **)** |
-+------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`                | :ref:`get_bake_interval<class_Curve3D_get_bake_interval>`  **(** **)** const                                                                                                                                                     |
-+------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`                | :ref:`get_baked_length<class_Curve3D_get_baked_length>`  **(** **)** const                                                                                                                                                       |
-+------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Vector3Array<class_vector3array>`  | :ref:`get_baked_points<class_Curve3D_get_baked_points>`  **(** **)** const                                                                                                                                                       |
-+------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`RealArray<class_realarray>`        | :ref:`get_baked_tilts<class_Curve3D_get_baked_tilts>`  **(** **)** const                                                                                                                                                         |
-+------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                    | :ref:`get_point_count<class_Curve3D_get_point_count>`  **(** **)** const                                                                                                                                                         |
-+------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Vector3<class_vector3>`            | :ref:`get_point_in<class_Curve3D_get_point_in>`  **(** :ref:`int<class_int>` idx  **)** const                                                                                                                                    |
-+------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Vector3<class_vector3>`            | :ref:`get_point_out<class_Curve3D_get_point_out>`  **(** :ref:`int<class_int>` idx  **)** const                                                                                                                                  |
-+------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Vector3<class_vector3>`            | :ref:`get_point_pos<class_Curve3D_get_point_pos>`  **(** :ref:`int<class_int>` idx  **)** const                                                                                                                                  |
-+------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`                | :ref:`get_point_tilt<class_Curve3D_get_point_tilt>`  **(** :ref:`int<class_int>` idx  **)** const                                                                                                                                |
-+------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Vector3<class_vector3>`            | :ref:`interpolate<class_Curve3D_interpolate>`  **(** :ref:`int<class_int>` idx, :ref:`float<class_float>` t  **)** const                                                                                                         |
-+------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Vector3<class_vector3>`            | :ref:`interpolate_baked<class_Curve3D_interpolate_baked>`  **(** :ref:`float<class_float>` offset, :ref:`bool<class_bool>` cubic=false  **)** const                                                                              |
-+------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Vector3<class_vector3>`            | :ref:`interpolatef<class_Curve3D_interpolatef>`  **(** :ref:`float<class_float>` fofs  **)** const                                                                                                                               |
-+------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                     | :ref:`remove_point<class_Curve3D_remove_point>`  **(** :ref:`int<class_int>` idx  **)**                                                                                                                                          |
-+------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                     | :ref:`set_bake_interval<class_Curve3D_set_bake_interval>`  **(** :ref:`float<class_float>` distance  **)**                                                                                                                       |
-+------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                     | :ref:`set_point_in<class_Curve3D_set_point_in>`  **(** :ref:`int<class_int>` idx, :ref:`Vector3<class_vector3>` pos  **)**                                                                                                       |
-+------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                     | :ref:`set_point_out<class_Curve3D_set_point_out>`  **(** :ref:`int<class_int>` idx, :ref:`Vector3<class_vector3>` pos  **)**                                                                                                     |
-+------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                     | :ref:`set_point_pos<class_Curve3D_set_point_pos>`  **(** :ref:`int<class_int>` idx, :ref:`Vector3<class_vector3>` pos  **)**                                                                                                     |
-+------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                     | :ref:`set_point_tilt<class_Curve3D_set_point_tilt>`  **(** :ref:`int<class_int>` idx, :ref:`float<class_float>` tilt  **)**                                                                                                      |
-+------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Vector3Array<class_vector3array>`  | :ref:`tesselate<class_Curve3D_tesselate>`  **(** :ref:`int<class_int>` max_stages=5, :ref:`float<class_float>` tolerance_degrees=4  **)** const                                                                                  |
-+------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
++------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                     | :ref:`add_point<class_Curve3D_add_point>`  **(** :ref:`Vector3<class_vector3>` pos, :ref:`Vector3<class_vector3>` in=Vector3((0, 0, 0)), :ref:`Vector3<class_vector3>` out=Vector3((0, 0, 0)), :ref:`int<class_int>` atpos=-1  **)** |
++------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`                | :ref:`get_bake_interval<class_Curve3D_get_bake_interval>`  **(** **)** const                                                                                                                                                         |
++------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`                | :ref:`get_baked_length<class_Curve3D_get_baked_length>`  **(** **)** const                                                                                                                                                           |
++------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Vector3Array<class_vector3array>`  | :ref:`get_baked_points<class_Curve3D_get_baked_points>`  **(** **)** const                                                                                                                                                           |
++------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`RealArray<class_realarray>`        | :ref:`get_baked_tilts<class_Curve3D_get_baked_tilts>`  **(** **)** const                                                                                                                                                             |
++------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                    | :ref:`get_point_count<class_Curve3D_get_point_count>`  **(** **)** const                                                                                                                                                             |
++------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Vector3<class_vector3>`            | :ref:`get_point_in<class_Curve3D_get_point_in>`  **(** :ref:`int<class_int>` idx  **)** const                                                                                                                                        |
++------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Vector3<class_vector3>`            | :ref:`get_point_out<class_Curve3D_get_point_out>`  **(** :ref:`int<class_int>` idx  **)** const                                                                                                                                      |
++------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Vector3<class_vector3>`            | :ref:`get_point_pos<class_Curve3D_get_point_pos>`  **(** :ref:`int<class_int>` idx  **)** const                                                                                                                                      |
++------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`                | :ref:`get_point_tilt<class_Curve3D_get_point_tilt>`  **(** :ref:`int<class_int>` idx  **)** const                                                                                                                                    |
++------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Vector3<class_vector3>`            | :ref:`interpolate<class_Curve3D_interpolate>`  **(** :ref:`int<class_int>` idx, :ref:`float<class_float>` t  **)** const                                                                                                             |
++------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Vector3<class_vector3>`            | :ref:`interpolate_baked<class_Curve3D_interpolate_baked>`  **(** :ref:`float<class_float>` offset, :ref:`bool<class_bool>` cubic=false  **)** const                                                                                  |
++------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Vector3<class_vector3>`            | :ref:`interpolatef<class_Curve3D_interpolatef>`  **(** :ref:`float<class_float>` fofs  **)** const                                                                                                                                   |
++------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                     | :ref:`remove_point<class_Curve3D_remove_point>`  **(** :ref:`int<class_int>` idx  **)**                                                                                                                                              |
++------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                     | :ref:`set_bake_interval<class_Curve3D_set_bake_interval>`  **(** :ref:`float<class_float>` distance  **)**                                                                                                                           |
++------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                     | :ref:`set_point_in<class_Curve3D_set_point_in>`  **(** :ref:`int<class_int>` idx, :ref:`Vector3<class_vector3>` pos  **)**                                                                                                           |
++------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                     | :ref:`set_point_out<class_Curve3D_set_point_out>`  **(** :ref:`int<class_int>` idx, :ref:`Vector3<class_vector3>` pos  **)**                                                                                                         |
++------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                     | :ref:`set_point_pos<class_Curve3D_set_point_pos>`  **(** :ref:`int<class_int>` idx, :ref:`Vector3<class_vector3>` pos  **)**                                                                                                         |
++------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                     | :ref:`set_point_tilt<class_Curve3D_set_point_tilt>`  **(** :ref:`int<class_int>` idx, :ref:`float<class_float>` tilt  **)**                                                                                                          |
++------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Vector3Array<class_vector3array>`  | :ref:`tesselate<class_Curve3D_tesselate>`  **(** :ref:`int<class_int>` max_stages=5, :ref:`float<class_float>` tolerance_degrees=4  **)** const                                                                                      |
++------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 
 Description
 -----------
@@ -72,7 +72,7 @@ Member Function Description
 
 .. _class_Curve3D_add_point:
 
-- void  **add_point**  **(** :ref:`Vector3<class_vector3>` pos, :ref:`Vector3<class_vector3>` in=Vector3(0, 0, 0), :ref:`Vector3<class_vector3>` out=Vector3(0, 0, 0), :ref:`int<class_int>` atpos=-1  **)**
+- void  **add_point**  **(** :ref:`Vector3<class_vector3>` pos, :ref:`Vector3<class_vector3>` in=Vector3((0, 0, 0)), :ref:`Vector3<class_vector3>` out=Vector3((0, 0, 0)), :ref:`int<class_int>` atpos=-1  **)**
 
 Adds a point to a curve, at position "pos", with control points "in" and "out".
 

+ 11 - 1
classes/class_dictionary.rst

@@ -37,6 +37,8 @@ Member Functions
 +------------------------------+-----------------------------------------------------------------------------------------------+
 | :ref:`String<class_string>`  | :ref:`to_json<class_Dictionary_to_json>`  **(** **)**                                         |
 +------------------------------+-----------------------------------------------------------------------------------------------+
+| :ref:`Array<class_array>`    | :ref:`values<class_Dictionary_values>`  **(** **)**                                           |
++------------------------------+-----------------------------------------------------------------------------------------------+
 
 Description
 -----------
@@ -74,6 +76,8 @@ Return true if the dictionary has a given key.
 
 - :ref:`bool<class_bool>`  **has_all**  **(** :ref:`Array<class_array>` keys  **)**
 
+Return true if the dictionary has all of the keys in the given array.
+
 .. _class_Dictionary_hash:
 
 - :ref:`int<class_int>`  **hash**  **(** **)**
@@ -84,7 +88,7 @@ Return a hashed integer value representing the dictionary contents.
 
 - :ref:`Array<class_array>`  **keys**  **(** **)**
 
-Return the list of keys in the dictionary.
+Return the list of keys in the :ref:`Dictionary<class_dictionary>`.
 
 .. _class_Dictionary_parse_json:
 
@@ -104,4 +108,10 @@ Return the size of the dictionary (in pairs).
 
 Return the dictionary as json text.
 
+.. _class_Dictionary_values:
+
+- :ref:`Array<class_array>`  **values**  **(** **)**
+
+Return the list of values in the :ref:`Dictionary<class_dictionary>`.
+
 

+ 3 - 3
classes/class_directory.rst

@@ -172,7 +172,7 @@ The method returns one of the error code constants defined in :ref:`@Global Scop
 
 Create a target directory and all necessary intermediate directories in its path, by calling :ref:`make_dir<class_Directory_make_dir>` recursively. The argument can be relative to the current directory, or an absolute path.
 
-Returns one of the error code constants defined in :ref:`@Global Scope<class_@global scope>` (OK, FAILED or ERR\_\*).
+Return one of the error code constants defined in :ref:`@Global Scope<class_@global scope>` (OK, FAILED or ERR\_\*).
 
 .. _class_Directory_open:
 
@@ -188,7 +188,7 @@ The method returns one of the error code constants defined in :ref:`@Global Scop
 
 Delete the target file or an empty directory. The argument can be relative to the current directory, or an absolute path. If the target directory is not empty, the operation will fail.
 
-Returns one of the error code constants defined in :ref:`@Global Scope<class_@global scope>` (OK or FAILED).
+Return one of the error code constants defined in :ref:`@Global Scope<class_@global scope>` (OK or FAILED).
 
 .. _class_Directory_rename:
 
@@ -196,6 +196,6 @@ Returns one of the error code constants defined in :ref:`@Global Scope<class_@gl
 
 Rename (move) the *from* file to the *to* destination. Both arguments should be paths to files, either relative or absolute. If the destination file exists and is not access-protected, it will be overwritten.
 
-Returns one of the error code constants defined in :ref:`@Global Scope<class_@global scope>` (OK or FAILED).
+Return one of the error code constants defined in :ref:`@Global Scope<class_@global scope>` (OK or FAILED).
 
 

+ 124 - 0
classes/class_dynamicfont.rst

@@ -0,0 +1,124 @@
+.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. DO NOT EDIT THIS FILE, but the doc/base/classes.xml source instead.
+
+.. _class_DynamicFont:
+
+DynamicFont
+===========
+
+**Inherits:** :ref:`Font<class_font>` **<** :ref:`Resource<class_resource>` **<** :ref:`Reference<class_reference>` **<** :ref:`Object<class_object>`
+
+**Category:** Core
+
+Brief Description
+-----------------
+
+
+
+Member Functions
+----------------
+
++------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                           | :ref:`add_fallback<class_DynamicFont_add_fallback>`  **(** :ref:`DynamicFontData<class_dynamicfontdata>` data  **)**                            |
++------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`DynamicFontData<class_dynamicfontdata>`  | :ref:`get_fallback<class_DynamicFont_get_fallback>`  **(** :ref:`int<class_int>` idx  **)** const                                               |
++------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                          | :ref:`get_fallback_count<class_DynamicFont_get_fallback_count>`  **(** **)** const                                                              |
++------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`DynamicFontData<class_dynamicfontdata>`  | :ref:`get_font_data<class_DynamicFont_get_font_data>`  **(** **)** const                                                                        |
++------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                          | :ref:`get_size<class_DynamicFont_get_size>`  **(** **)** const                                                                                  |
++------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                          | :ref:`get_spacing<class_DynamicFont_get_spacing>`  **(** :ref:`int<class_int>` type  **)** const                                                |
++------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                        | :ref:`get_use_filter<class_DynamicFont_get_use_filter>`  **(** **)** const                                                                      |
++------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                        | :ref:`get_use_mipmaps<class_DynamicFont_get_use_mipmaps>`  **(** **)** const                                                                    |
++------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                           | :ref:`remove_fallback<class_DynamicFont_remove_fallback>`  **(** :ref:`int<class_int>` idx  **)**                                               |
++------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                           | :ref:`set_fallback<class_DynamicFont_set_fallback>`  **(** :ref:`int<class_int>` idx, :ref:`DynamicFontData<class_dynamicfontdata>` data  **)** |
++------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                           | :ref:`set_font_data<class_DynamicFont_set_font_data>`  **(** :ref:`DynamicFontData<class_dynamicfontdata>` data  **)**                          |
++------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                           | :ref:`set_size<class_DynamicFont_set_size>`  **(** :ref:`int<class_int>` data  **)**                                                            |
++------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                           | :ref:`set_spacing<class_DynamicFont_set_spacing>`  **(** :ref:`int<class_int>` type, :ref:`int<class_int>` value  **)**                         |
++------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                           | :ref:`set_use_filter<class_DynamicFont_set_use_filter>`  **(** :ref:`bool<class_bool>` enable  **)**                                            |
++------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                           | :ref:`set_use_mipmaps<class_DynamicFont_set_use_mipmaps>`  **(** :ref:`bool<class_bool>` enable  **)**                                          |
++------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------+
+
+Numeric Constants
+-----------------
+
+- **SPACING_TOP** = **0**
+- **SPACING_BOTTOM** = **1**
+- **SPACING_CHAR** = **2**
+- **SPACING_SPACE** = **3**
+
+Member Function Description
+---------------------------
+
+.. _class_DynamicFont_add_fallback:
+
+- void  **add_fallback**  **(** :ref:`DynamicFontData<class_dynamicfontdata>` data  **)**
+
+.. _class_DynamicFont_get_fallback:
+
+- :ref:`DynamicFontData<class_dynamicfontdata>`  **get_fallback**  **(** :ref:`int<class_int>` idx  **)** const
+
+.. _class_DynamicFont_get_fallback_count:
+
+- :ref:`int<class_int>`  **get_fallback_count**  **(** **)** const
+
+.. _class_DynamicFont_get_font_data:
+
+- :ref:`DynamicFontData<class_dynamicfontdata>`  **get_font_data**  **(** **)** const
+
+.. _class_DynamicFont_get_size:
+
+- :ref:`int<class_int>`  **get_size**  **(** **)** const
+
+.. _class_DynamicFont_get_spacing:
+
+- :ref:`int<class_int>`  **get_spacing**  **(** :ref:`int<class_int>` type  **)** const
+
+.. _class_DynamicFont_get_use_filter:
+
+- :ref:`bool<class_bool>`  **get_use_filter**  **(** **)** const
+
+.. _class_DynamicFont_get_use_mipmaps:
+
+- :ref:`bool<class_bool>`  **get_use_mipmaps**  **(** **)** const
+
+.. _class_DynamicFont_remove_fallback:
+
+- void  **remove_fallback**  **(** :ref:`int<class_int>` idx  **)**
+
+.. _class_DynamicFont_set_fallback:
+
+- void  **set_fallback**  **(** :ref:`int<class_int>` idx, :ref:`DynamicFontData<class_dynamicfontdata>` data  **)**
+
+.. _class_DynamicFont_set_font_data:
+
+- void  **set_font_data**  **(** :ref:`DynamicFontData<class_dynamicfontdata>` data  **)**
+
+.. _class_DynamicFont_set_size:
+
+- void  **set_size**  **(** :ref:`int<class_int>` data  **)**
+
+.. _class_DynamicFont_set_spacing:
+
+- void  **set_spacing**  **(** :ref:`int<class_int>` type, :ref:`int<class_int>` value  **)**
+
+.. _class_DynamicFont_set_use_filter:
+
+- void  **set_use_filter**  **(** :ref:`bool<class_bool>` enable  **)**
+
+.. _class_DynamicFont_set_use_mipmaps:
+
+- void  **set_use_mipmaps**  **(** :ref:`bool<class_bool>` enable  **)**
+
+

+ 38 - 0
classes/class_dynamicfontdata.rst

@@ -0,0 +1,38 @@
+.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. DO NOT EDIT THIS FILE, but the doc/base/classes.xml source instead.
+
+.. _class_DynamicFontData:
+
+DynamicFontData
+===============
+
+**Inherits:** :ref:`Resource<class_resource>` **<** :ref:`Reference<class_reference>` **<** :ref:`Object<class_object>`
+
+**Category:** Core
+
+Brief Description
+-----------------
+
+
+
+Member Functions
+----------------
+
++------------------------------+----------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_string>`  | :ref:`get_font_path<class_DynamicFontData_get_font_path>`  **(** **)** const                             |
++------------------------------+----------------------------------------------------------------------------------------------------------+
+| void                         | :ref:`set_font_path<class_DynamicFontData_set_font_path>`  **(** :ref:`String<class_string>` path  **)** |
++------------------------------+----------------------------------------------------------------------------------------------------------+
+
+Member Function Description
+---------------------------
+
+.. _class_DynamicFontData_get_font_path:
+
+- :ref:`String<class_string>`  **get_font_path**  **(** **)** const
+
+.. _class_DynamicFontData_set_font_path:
+
+- void  **set_font_path**  **(** :ref:`String<class_string>` path  **)**
+
+

+ 45 - 0
classes/class_editorexportplugin.rst

@@ -0,0 +1,45 @@
+.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. DO NOT EDIT THIS FILE, but the doc/base/classes.xml source instead.
+
+.. _class_EditorExportPlugin:
+
+EditorExportPlugin
+==================
+
+**Inherits:** :ref:`Reference<class_reference>` **<** :ref:`Object<class_object>`
+
+**Category:** Core
+
+Brief Description
+-----------------
+
+Editor plugin to control the export process.
+
+Member Functions
+----------------
+
++--------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Variant<class_variant>`  | :ref:`custom_export<class_EditorExportPlugin_custom_export>`  **(** :ref:`String<class_string>` name, EditorExportPlatform platform  **)** virtual |
++--------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------+
+
+Description
+-----------
+
+This plugin is added into EditorImportExport and allows to modify the behavior of the export process for individual files.
+
+Member Function Description
+---------------------------
+
+.. _class_EditorExportPlugin_custom_export:
+
+- :ref:`Variant<class_variant>`  **custom_export**  **(** :ref:`String<class_string>` name, EditorExportPlatform platform  **)** virtual
+
+This function is called for each file exported and depending from the return value one of many things might happen.
+
+1) If returned value is null, the file is exported as is.
+
+2) If the returned value is a RawAray (array of bytes), the content of that array becomes the new file being exported.
+
+3) If the file must also change it's name when exported, then a :ref:`Dictionary<class_dictionary>` must be returned with two fields: 'name' with the new filename and 'data' with a :ref:`RawArray<class_rawarray>` containing the raw contents of the file. Even if the name is changed, the run-time will redirect the old file to the new file automatically when accessed.
+
+

+ 51 - 38
classes/class_editorfiledialog.rst

@@ -18,43 +18,47 @@ Brief Description
 Member Functions
 ----------------
 
-+--------------------------------------------+-----------------------------------------------------------------------------------------------------------------------+
-| void                                       | :ref:`add_filter<class_EditorFileDialog_add_filter>`  **(** :ref:`String<class_string>` filter  **)**                 |
-+--------------------------------------------+-----------------------------------------------------------------------------------------------------------------------+
-| void                                       | :ref:`clear_filters<class_EditorFileDialog_clear_filters>`  **(** **)**                                               |
-+--------------------------------------------+-----------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                      | :ref:`get_access<class_EditorFileDialog_get_access>`  **(** **)** const                                               |
-+--------------------------------------------+-----------------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_string>`                | :ref:`get_current_dir<class_EditorFileDialog_get_current_dir>`  **(** **)** const                                     |
-+--------------------------------------------+-----------------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_string>`                | :ref:`get_current_file<class_EditorFileDialog_get_current_file>`  **(** **)** const                                   |
-+--------------------------------------------+-----------------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_string>`                | :ref:`get_current_path<class_EditorFileDialog_get_current_path>`  **(** **)** const                                   |
-+--------------------------------------------+-----------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                      | :ref:`get_display_mode<class_EditorFileDialog_get_display_mode>`  **(** **)** const                                   |
-+--------------------------------------------+-----------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                      | :ref:`get_mode<class_EditorFileDialog_get_mode>`  **(** **)** const                                                   |
-+--------------------------------------------+-----------------------------------------------------------------------------------------------------------------------+
-| :ref:`VBoxContainer<class_vboxcontainer>`  | :ref:`get_vbox<class_EditorFileDialog_get_vbox>`  **(** **)**                                                         |
-+--------------------------------------------+-----------------------------------------------------------------------------------------------------------------------+
-| void                                       | :ref:`invalidate<class_EditorFileDialog_invalidate>`  **(** **)**                                                     |
-+--------------------------------------------+-----------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                    | :ref:`is_showing_hidden_files<class_EditorFileDialog_is_showing_hidden_files>`  **(** **)** const                     |
-+--------------------------------------------+-----------------------------------------------------------------------------------------------------------------------+
-| void                                       | :ref:`set_access<class_EditorFileDialog_set_access>`  **(** :ref:`int<class_int>` access  **)**                       |
-+--------------------------------------------+-----------------------------------------------------------------------------------------------------------------------+
-| void                                       | :ref:`set_current_dir<class_EditorFileDialog_set_current_dir>`  **(** :ref:`String<class_string>` dir  **)**          |
-+--------------------------------------------+-----------------------------------------------------------------------------------------------------------------------+
-| void                                       | :ref:`set_current_file<class_EditorFileDialog_set_current_file>`  **(** :ref:`String<class_string>` file  **)**       |
-+--------------------------------------------+-----------------------------------------------------------------------------------------------------------------------+
-| void                                       | :ref:`set_current_path<class_EditorFileDialog_set_current_path>`  **(** :ref:`String<class_string>` path  **)**       |
-+--------------------------------------------+-----------------------------------------------------------------------------------------------------------------------+
-| void                                       | :ref:`set_display_mode<class_EditorFileDialog_set_display_mode>`  **(** :ref:`int<class_int>` mode  **)**             |
-+--------------------------------------------+-----------------------------------------------------------------------------------------------------------------------+
-| void                                       | :ref:`set_mode<class_EditorFileDialog_set_mode>`  **(** :ref:`int<class_int>` mode  **)**                             |
-+--------------------------------------------+-----------------------------------------------------------------------------------------------------------------------+
-| void                                       | :ref:`set_show_hidden_files<class_EditorFileDialog_set_show_hidden_files>`  **(** :ref:`bool<class_bool>` show  **)** |
-+--------------------------------------------+-----------------------------------------------------------------------------------------------------------------------+
++--------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                       | :ref:`add_filter<class_EditorFileDialog_add_filter>`  **(** :ref:`String<class_string>` filter  **)**                                    |
++--------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                       | :ref:`clear_filters<class_EditorFileDialog_clear_filters>`  **(** **)**                                                                  |
++--------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                      | :ref:`get_access<class_EditorFileDialog_get_access>`  **(** **)** const                                                                  |
++--------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_string>`                | :ref:`get_current_dir<class_EditorFileDialog_get_current_dir>`  **(** **)** const                                                        |
++--------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_string>`                | :ref:`get_current_file<class_EditorFileDialog_get_current_file>`  **(** **)** const                                                      |
++--------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_string>`                | :ref:`get_current_path<class_EditorFileDialog_get_current_path>`  **(** **)** const                                                      |
++--------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                      | :ref:`get_display_mode<class_EditorFileDialog_get_display_mode>`  **(** **)** const                                                      |
++--------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                      | :ref:`get_mode<class_EditorFileDialog_get_mode>`  **(** **)** const                                                                      |
++--------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`VBoxContainer<class_vboxcontainer>`  | :ref:`get_vbox<class_EditorFileDialog_get_vbox>`  **(** **)**                                                                            |
++--------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                       | :ref:`invalidate<class_EditorFileDialog_invalidate>`  **(** **)**                                                                        |
++--------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                    | :ref:`is_overwrite_warning_disabled<class_EditorFileDialog_is_overwrite_warning_disabled>`  **(** **)** const                            |
++--------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                    | :ref:`is_showing_hidden_files<class_EditorFileDialog_is_showing_hidden_files>`  **(** **)** const                                        |
++--------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                       | :ref:`set_access<class_EditorFileDialog_set_access>`  **(** :ref:`int<class_int>` access  **)**                                          |
++--------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                       | :ref:`set_current_dir<class_EditorFileDialog_set_current_dir>`  **(** :ref:`String<class_string>` dir  **)**                             |
++--------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                       | :ref:`set_current_file<class_EditorFileDialog_set_current_file>`  **(** :ref:`String<class_string>` file  **)**                          |
++--------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                       | :ref:`set_current_path<class_EditorFileDialog_set_current_path>`  **(** :ref:`String<class_string>` path  **)**                          |
++--------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                       | :ref:`set_disable_overwrite_warning<class_EditorFileDialog_set_disable_overwrite_warning>`  **(** :ref:`bool<class_bool>` disable  **)** |
++--------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                       | :ref:`set_display_mode<class_EditorFileDialog_set_display_mode>`  **(** :ref:`int<class_int>` mode  **)**                                |
++--------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                       | :ref:`set_mode<class_EditorFileDialog_set_mode>`  **(** :ref:`int<class_int>` mode  **)**                                                |
++--------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                       | :ref:`set_show_hidden_files<class_EditorFileDialog_set_show_hidden_files>`  **(** :ref:`bool<class_bool>` show  **)**                    |
++--------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
 
 Signals
 -------
@@ -69,7 +73,8 @@ Numeric Constants
 - **MODE_OPEN_FILE** = **0**
 - **MODE_OPEN_FILES** = **1**
 - **MODE_OPEN_DIR** = **2**
-- **MODE_SAVE_FILE** = **3**
+- **MODE_OPEN_ANY** = **3**
+- **MODE_SAVE_FILE** = **4**
 - **ACCESS_RESOURCES** = **0**
 - **ACCESS_USERDATA** = **1**
 - **ACCESS_FILESYSTEM** = **2**
@@ -117,6 +122,10 @@ Member Function Description
 
 - void  **invalidate**  **(** **)**
 
+.. _class_EditorFileDialog_is_overwrite_warning_disabled:
+
+- :ref:`bool<class_bool>`  **is_overwrite_warning_disabled**  **(** **)** const
+
 .. _class_EditorFileDialog_is_showing_hidden_files:
 
 - :ref:`bool<class_bool>`  **is_showing_hidden_files**  **(** **)** const
@@ -137,6 +146,10 @@ Member Function Description
 
 - void  **set_current_path**  **(** :ref:`String<class_string>` path  **)**
 
+.. _class_EditorFileDialog_set_disable_overwrite_warning:
+
+- void  **set_disable_overwrite_warning**  **(** :ref:`bool<class_bool>` disable  **)**
+
 .. _class_EditorFileDialog_set_display_mode:
 
 - void  **set_display_mode**  **(** :ref:`int<class_int>` mode  **)**

+ 75 - 14
classes/class_editorimportplugin.rst

@@ -13,44 +13,105 @@ EditorImportPlugin
 Brief Description
 -----------------
 
-
+Import plugin for editor
 
 Member Functions
 ----------------
 
-+----------------------------------+------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`RawArray<class_rawarray>`  | :ref:`custom_export<class_EditorImportPlugin_custom_export>`  **(** :ref:`String<class_string>` path  **)** virtual                |
-+----------------------------------+------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_string>`      | :ref:`get_name<class_EditorImportPlugin_get_name>`  **(** **)** virtual                                                            |
-+----------------------------------+------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_string>`      | :ref:`get_visible_name<class_EditorImportPlugin_get_visible_name>`  **(** **)** virtual                                            |
-+----------------------------------+------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`            | :ref:`import<class_EditorImportPlugin_import>`  **(** :ref:`String<class_string>` path, ResourceImportMetaData from  **)** virtual |
-+----------------------------------+------------------------------------------------------------------------------------------------------------------------------------+
-| void                             | :ref:`import_dialog<class_EditorImportPlugin_import_dialog>`  **(** :ref:`String<class_string>` from  **)** virtual                |
-+----------------------------------+------------------------------------------------------------------------------------------------------------------------------------+
++----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`          | :ref:`can_reimport_multiple_files<class_EditorImportPlugin_can_reimport_multiple_files>`  **(** **)** virtual                                                               |
++----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`RawArray<class_rawarray>`  | :ref:`custom_export<class_EditorImportPlugin_custom_export>`  **(** :ref:`String<class_string>` path, EditorExportPlatform platform  **)** virtual                          |
++----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_string>`      | :ref:`expand_source_path<class_EditorImportPlugin_expand_source_path>`  **(** :ref:`String<class_string>` path  **)**                                                       |
++----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_string>`      | :ref:`get_name<class_EditorImportPlugin_get_name>`  **(** **)** virtual                                                                                                     |
++----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_string>`      | :ref:`get_visible_name<class_EditorImportPlugin_get_visible_name>`  **(** **)** virtual                                                                                     |
++----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`            | :ref:`import<class_EditorImportPlugin_import>`  **(** :ref:`String<class_string>` path, :ref:`ResourceImportMetadata<class_resourceimportmetadata>` from  **)** virtual     |
++----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                             | :ref:`import_dialog<class_EditorImportPlugin_import_dialog>`  **(** :ref:`String<class_string>` from  **)** virtual                                                         |
++----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                             | :ref:`import_from_drop<class_EditorImportPlugin_import_from_drop>`  **(** :ref:`StringArray<class_stringarray>` files, :ref:`String<class_string>` dest_path  **)** virtual |
++----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                             | :ref:`reimport_multiple_files<class_EditorImportPlugin_reimport_multiple_files>`  **(** :ref:`StringArray<class_stringarray>` files  **)** virtual                          |
++----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_string>`      | :ref:`validate_source_path<class_EditorImportPlugin_validate_source_path>`  **(** :ref:`String<class_string>` path  **)**                                                   |
++----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+
+Description
+-----------
+
+Import plugins make it easy to handle importing of external assets into a project. They way they work is not that obvious though, so please make sure to read the documentation, tutorials and examples.
 
 Member Function Description
 ---------------------------
 
+.. _class_EditorImportPlugin_can_reimport_multiple_files:
+
+- :ref:`bool<class_bool>`  **can_reimport_multiple_files**  **(** **)** virtual
+
 .. _class_EditorImportPlugin_custom_export:
 
-- :ref:`RawArray<class_rawarray>`  **custom_export**  **(** :ref:`String<class_string>` path  **)** virtual
+- :ref:`RawArray<class_rawarray>`  **custom_export**  **(** :ref:`String<class_string>` path, EditorExportPlatform platform  **)** virtual
+
+Generally, files that are imported stay the same when exported. The only exception is in some cases when the file must be re-imported for different platforms (ie. texture compression).
+
+If you want to customize the export process, it's recommended to use :ref:`EditorExportPlugin.custom_export<class_EditorExportPlugin_custom_export>` instead.
+
+.. _class_EditorImportPlugin_expand_source_path:
+
+- :ref:`String<class_string>`  **expand_source_path**  **(** :ref:`String<class_string>` path  **)**
 
 .. _class_EditorImportPlugin_get_name:
 
 - :ref:`String<class_string>`  **get_name**  **(** **)** virtual
 
+Get the name of the import plugin, which will be used to identify content imported by this plugin. Try to use lowercase and underscores if possible.
+
 .. _class_EditorImportPlugin_get_visible_name:
 
 - :ref:`String<class_string>`  **get_visible_name**  **(** **)** virtual
 
+Visible name for this plugin, which will be shown on the import menu.
+
 .. _class_EditorImportPlugin_import:
 
-- :ref:`int<class_int>`  **import**  **(** :ref:`String<class_string>` path, ResourceImportMetaData from  **)** virtual
+- :ref:`int<class_int>`  **import**  **(** :ref:`String<class_string>` path, :ref:`ResourceImportMetadata<class_resourceimportmetadata>` from  **)** virtual
+
+Perform an import of an external resources into the project. This function is both called on import (from the dialog) or re-import (manual or automatic when external source files changed).
+
+An import process generally works like this:
+
+1) Check the metadata for source files and options. Metadata is either generated in the import dialog or taken from an existing resource upon reimport.
+
+2) Perform the import process into a new resource. Some times the resource being re-imported may be already loaded and in use, so checking for this by using :ref:`ResourceLoader.has<class_ResourceLoader_has>` is recommended. Otherwise create a new resource.
+
+3) Set the metadata from the argument into the existing or new resource being created using :ref:`Resource.set_import_metadata<class_Resource_set_import_metadata>`.
+
+4) Save the resource into 'path' (function argument)
 
 .. _class_EditorImportPlugin_import_dialog:
 
 - void  **import_dialog**  **(** :ref:`String<class_string>` from  **)** virtual
 
+This function is called when either the user chooses to import a resource of this type (Import menu), or when the user chooses to re-import the resource (from filesystem). In the later case, the path for the existing file is supplied in the argument.
+
+If the path is supplied, it is recommended to read the import metadata with :ref:`ResourceLoader.load_import_metadata<class_ResourceLoader_load_import_metadata>` and fill in the fields with the values contained there.
+
+The dialog can be shown in any way (just use a ConfirmationDialog and pop it up). Upon confirmation, fill up a ResourceImportMetadata and call the :ref:`EditorImportPlugin.import<class_EditorImportPlugin_import>` function with this information.
+
+.. _class_EditorImportPlugin_import_from_drop:
+
+- void  **import_from_drop**  **(** :ref:`StringArray<class_stringarray>` files, :ref:`String<class_string>` dest_path  **)** virtual
+
+.. _class_EditorImportPlugin_reimport_multiple_files:
+
+- void  **reimport_multiple_files**  **(** :ref:`StringArray<class_stringarray>` files  **)** virtual
+
+.. _class_EditorImportPlugin_validate_source_path:
+
+- :ref:`String<class_string>`  **validate_source_path**  **(** :ref:`String<class_string>` path  **)**
+
 

+ 206 - 37
classes/class_editorplugin.rst

@@ -13,44 +13,68 @@ EditorPlugin
 Brief Description
 -----------------
 
-
+Used by the editor to extend it's functionality.
 
 Member Functions
 ----------------
 
-+----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                   | :ref:`add_custom_control<class_EditorPlugin_add_custom_control>`  **(** :ref:`int<class_int>` container, :ref:`Object<class_object>` control  **)**                                                                 |
-+----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                   | :ref:`add_custom_type<class_EditorPlugin_add_custom_type>`  **(** :ref:`String<class_string>` type, :ref:`String<class_string>` base, :ref:`Script<class_script>` script, :ref:`Texture<class_texture>` icon  **)** |
-+----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                   | :ref:`apply_changes<class_EditorPlugin_apply_changes>`  **(** **)** virtual                                                                                                                                         |
-+----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                   | :ref:`clear<class_EditorPlugin_clear>`  **(** **)** virtual                                                                                                                                                         |
-+----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                   | :ref:`edit<class_EditorPlugin_edit>`  **(** :ref:`Object<class_object>` object  **)** virtual                                                                                                                       |
-+----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                | :ref:`forward_input_event<class_EditorPlugin_forward_input_event>`  **(** :ref:`InputEvent<class_inputevent>` event  **)** virtual                                                                                  |
-+----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                | :ref:`forward_spatial_input_event<class_EditorPlugin_forward_spatial_input_event>`  **(** :ref:`Camera<class_camera>` camera, :ref:`InputEvent<class_inputevent>` event  **)** virtual                              |
-+----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`StringArray<class_stringarray>`  | :ref:`get_breakpoints<class_EditorPlugin_get_breakpoints>`  **(** **)** virtual                                                                                                                                     |
-+----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_string>`            | :ref:`get_name<class_EditorPlugin_get_name>`  **(** **)** virtual                                                                                                                                                   |
-+----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Dictionary<class_dictionary>`    | :ref:`get_state<class_EditorPlugin_get_state>`  **(** **)** virtual                                                                                                                                                 |
-+----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Object<class_object>`            | :ref:`get_undo_redo<class_EditorPlugin_get_undo_redo>`  **(** **)**                                                                                                                                                 |
-+----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                | :ref:`handles<class_EditorPlugin_handles>`  **(** :ref:`Object<class_object>` object  **)** virtual                                                                                                                 |
-+----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                | :ref:`has_main_screen<class_EditorPlugin_has_main_screen>`  **(** **)** virtual                                                                                                                                     |
-+----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                   | :ref:`make_visible<class_EditorPlugin_make_visible>`  **(** :ref:`bool<class_bool>` visible  **)** virtual                                                                                                          |
-+----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                   | :ref:`remove_custom_type<class_EditorPlugin_remove_custom_type>`  **(** :ref:`String<class_string>` type  **)**                                                                                                     |
-+----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                   | :ref:`set_state<class_EditorPlugin_set_state>`  **(** :ref:`Dictionary<class_dictionary>` state  **)** virtual                                                                                                      |
-+----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
++------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`ToolButton<class_toolbutton>`                  | :ref:`add_control_to_bottom_panel<class_EditorPlugin_add_control_to_bottom_panel>`  **(** :ref:`Control<class_control>` control, :ref:`String<class_string>` title  **)**                                           |
++------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                                 | :ref:`add_control_to_container<class_EditorPlugin_add_control_to_container>`  **(** :ref:`int<class_int>` container, :ref:`Control<class_control>` control  **)**                                                   |
++------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                                 | :ref:`add_control_to_dock<class_EditorPlugin_add_control_to_dock>`  **(** :ref:`int<class_int>` slot, :ref:`Control<class_control>` control  **)**                                                                  |
++------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                                 | :ref:`add_custom_type<class_EditorPlugin_add_custom_type>`  **(** :ref:`String<class_string>` type, :ref:`String<class_string>` base, :ref:`Script<class_script>` script, :ref:`Texture<class_texture>` icon  **)** |
++------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                                 | :ref:`add_export_plugin<class_EditorPlugin_add_export_plugin>`  **(** :ref:`EditorExportPlugin<class_editorexportplugin>` plugin  **)**                                                                             |
++------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                                 | :ref:`add_import_plugin<class_EditorPlugin_add_import_plugin>`  **(** :ref:`EditorImportPlugin<class_editorimportplugin>` plugin  **)**                                                                             |
++------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                                 | :ref:`apply_changes<class_EditorPlugin_apply_changes>`  **(** **)** virtual                                                                                                                                         |
++------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                                 | :ref:`clear<class_EditorPlugin_clear>`  **(** **)** virtual                                                                                                                                                         |
++------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`EditorSpatialGizmo<class_editorspatialgizmo>`  | :ref:`create_spatial_gizmo<class_EditorPlugin_create_spatial_gizmo>`  **(** :ref:`Spatial<class_spatial>` for_spatial  **)** virtual                                                                                |
++------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                                 | :ref:`edit<class_EditorPlugin_edit>`  **(** :ref:`Object<class_object>` object  **)** virtual                                                                                                                       |
++------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                              | :ref:`forward_input_event<class_EditorPlugin_forward_input_event>`  **(** :ref:`InputEvent<class_inputevent>` event  **)** virtual                                                                                  |
++------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                              | :ref:`forward_spatial_input_event<class_EditorPlugin_forward_spatial_input_event>`  **(** :ref:`Camera<class_camera>` camera, :ref:`InputEvent<class_inputevent>` event  **)** virtual                              |
++------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Control<class_control>`                        | :ref:`get_base_control<class_EditorPlugin_get_base_control>`  **(** **)**                                                                                                                                           |
++------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`StringArray<class_stringarray>`                | :ref:`get_breakpoints<class_EditorPlugin_get_breakpoints>`  **(** **)** virtual                                                                                                                                     |
++------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`EditorSettings<class_editorsettings>`          | :ref:`get_editor_settings<class_EditorPlugin_get_editor_settings>`  **(** **)**                                                                                                                                     |
++------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_string>`                          | :ref:`get_name<class_EditorPlugin_get_name>`  **(** **)** virtual                                                                                                                                                   |
++------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`EditorSelection<class_editorselection>`        | :ref:`get_selection<class_EditorPlugin_get_selection>`  **(** **)**                                                                                                                                                 |
++------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Dictionary<class_dictionary>`                  | :ref:`get_state<class_EditorPlugin_get_state>`  **(** **)** virtual                                                                                                                                                 |
++------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`UndoRedo<class_undoredo>`                      | :ref:`get_undo_redo<class_EditorPlugin_get_undo_redo>`  **(** **)**                                                                                                                                                 |
++------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                              | :ref:`handles<class_EditorPlugin_handles>`  **(** :ref:`Object<class_object>` object  **)** virtual                                                                                                                 |
++------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                              | :ref:`has_main_screen<class_EditorPlugin_has_main_screen>`  **(** **)** virtual                                                                                                                                     |
++------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                                 | :ref:`make_visible<class_EditorPlugin_make_visible>`  **(** :ref:`bool<class_bool>` visible  **)** virtual                                                                                                          |
++------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                                 | :ref:`remove_control_from_bottom_panel<class_EditorPlugin_remove_control_from_bottom_panel>`  **(** :ref:`Control<class_control>` control  **)**                                                                    |
++------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                                 | :ref:`remove_control_from_docks<class_EditorPlugin_remove_control_from_docks>`  **(** :ref:`Control<class_control>` control  **)**                                                                                  |
++------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                                 | :ref:`remove_custom_type<class_EditorPlugin_remove_custom_type>`  **(** :ref:`String<class_string>` type  **)**                                                                                                     |
++------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                                 | :ref:`remove_export_plugin<class_EditorPlugin_remove_export_plugin>`  **(** :ref:`EditorExportPlugin<class_editorexportplugin>` plugin  **)**                                                                       |
++------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                                 | :ref:`remove_import_plugin<class_EditorPlugin_remove_import_plugin>`  **(** :ref:`EditorImportPlugin<class_editorimportplugin>` plugin  **)**                                                                       |
++------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                                 | :ref:`set_state<class_EditorPlugin_set_state>`  **(** :ref:`Dictionary<class_dictionary>` state  **)** virtual                                                                                                      |
++------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 
 Numeric Constants
 -----------------
@@ -61,72 +85,217 @@ Numeric Constants
 - **CONTAINER_SPATIAL_EDITOR_BOTTOM** = **3**
 - **CONTAINER_CANVAS_EDITOR_MENU** = **4**
 - **CONTAINER_CANVAS_EDITOR_SIDE** = **5**
+- **CONTAINER_PROPERTY_EDITOR_BOTTOM** = **7**
+- **DOCK_SLOT_LEFT_UL** = **0**
+- **DOCK_SLOT_LEFT_BL** = **1**
+- **DOCK_SLOT_LEFT_UR** = **2**
+- **DOCK_SLOT_LEFT_BR** = **3**
+- **DOCK_SLOT_RIGHT_UL** = **4**
+- **DOCK_SLOT_RIGHT_BL** = **5**
+- **DOCK_SLOT_RIGHT_UR** = **6**
+- **DOCK_SLOT_RIGHT_BR** = **7**
+- **DOCK_SLOT_MAX** = **8**
+
+Description
+-----------
+
+Plugins are used by the editor to extend functionality. The most common types of plugins are those which edit a given node or resource type, import plugins and export plugins.
 
 Member Function Description
 ---------------------------
 
-.. _class_EditorPlugin_add_custom_control:
+.. _class_EditorPlugin_add_control_to_bottom_panel:
+
+- :ref:`ToolButton<class_toolbutton>`  **add_control_to_bottom_panel**  **(** :ref:`Control<class_control>` control, :ref:`String<class_string>` title  **)**
+
+Add a control to the bottom panel (together with Output, Debug, Animation, etc). Returns a reference to the button added. It's up to you to hide/show the button when needed. If your plugin is being removed, also make sure to remove your control by calling :ref:`remove_control_from_bottom_panel<class_EditorPlugin_remove_control_from_bottom_panel>`.
+
+.. _class_EditorPlugin_add_control_to_container:
+
+- void  **add_control_to_container**  **(** :ref:`int<class_int>` container, :ref:`Control<class_control>` control  **)**
+
+Add a custom control to a container (see CONTAINER\_\* enum). There are many locations where custom controls can be added in the editor UI.
+
+Please remember that you have to manage the visibility of your custom controls yourself (and likely hide it after adding it).
+
+If your plugin is being removed, also make sure to remove your custom controls too.
+
+.. _class_EditorPlugin_add_control_to_dock:
 
-- void  **add_custom_control**  **(** :ref:`int<class_int>` container, :ref:`Object<class_object>` control  **)**
+- void  **add_control_to_dock**  **(** :ref:`int<class_int>` slot, :ref:`Control<class_control>` control  **)**
+
+Add the control to a specific dock slot (see DOCK\_\* enum for options).
+
+If the dock is repositioned and as long as the plugin is active, the editor will save the dock position on further sessions.
+
+If your plugin is being removed, also make sure to remove your control by calling :ref:`remove_control_from_docks<class_EditorPlugin_remove_control_from_docks>`.
 
 .. _class_EditorPlugin_add_custom_type:
 
 - void  **add_custom_type**  **(** :ref:`String<class_string>` type, :ref:`String<class_string>` base, :ref:`Script<class_script>` script, :ref:`Texture<class_texture>` icon  **)**
 
+Add a custom type, which will appear in the list of nodes or resources. An icon can be optionally passed.
+
+When given node or resource is selected, the base type will be instanced (ie, "Spatial", "Control", "Resource"), then the script will be loaded and set to this object.
+
+You can use the :ref:`EditorPlugin.handles<class_EditorPlugin_handles>` to check if your custom object is being edited by checking the script or using 'extends' keyword.
+
+During run-time, this will be a simple object with a script so this function does not need to be called then.
+
+.. _class_EditorPlugin_add_export_plugin:
+
+- void  **add_export_plugin**  **(** :ref:`EditorExportPlugin<class_editorexportplugin>` plugin  **)**
+
+Add an export plugin. Plugins of this kind can change files being exported. On exit don't forget to call :ref:`remove_export_plugin<class_EditorPlugin_remove_export_plugin>`.
+
+.. _class_EditorPlugin_add_import_plugin:
+
+- void  **add_import_plugin**  **(** :ref:`EditorImportPlugin<class_editorimportplugin>` plugin  **)**
+
+Add an import plugin. These plugins manage importing external content (from outside the project) into formats the engine can understand.
+
+On exit, don't forget to remove the plugin by calling :ref:`remove_import_plugin<class_EditorPlugin_remove_import_plugin>`
+
 .. _class_EditorPlugin_apply_changes:
 
 - void  **apply_changes**  **(** **)** virtual
 
+This method is called when the editor is about to save the project, switch to another tab, etc. It asks the plugin to apply any pending state changes to ensure consistency.
+
+This is used, for example, in shader editors to let the plugin know that it must apply the shader code being written by the user to the object.
+
 .. _class_EditorPlugin_clear:
 
 - void  **clear**  **(** **)** virtual
 
+Clear all the state and reset the object being edited to zero. This ensures your plugin does not keep editing a currently existing node, or a node from the wrong scene.
+
+.. _class_EditorPlugin_create_spatial_gizmo:
+
+- :ref:`EditorSpatialGizmo<class_editorspatialgizmo>`  **create_spatial_gizmo**  **(** :ref:`Spatial<class_spatial>` for_spatial  **)** virtual
+
+This is used for plugins that create gizmos used by the spatial editor. Just check that the node passed in the "for_spatial" argument matches your plugin.
+
 .. _class_EditorPlugin_edit:
 
 - void  **edit**  **(** :ref:`Object<class_object>` object  **)** virtual
 
+This function is used for plugins that edit specific object types (nodes or resources). It requests the editor to edit the given object.
+
 .. _class_EditorPlugin_forward_input_event:
 
 - :ref:`bool<class_bool>`  **forward_input_event**  **(** :ref:`InputEvent<class_inputevent>` event  **)** virtual
 
+This is a low level function for plugins that edit a given object type derived from CanvasItem to capture the input in the 2D editor viewport. The function is only being called if your object is being edited.
+
+Return true if you want to capture the input, otherwise false.
+
 .. _class_EditorPlugin_forward_spatial_input_event:
 
 - :ref:`bool<class_bool>`  **forward_spatial_input_event**  **(** :ref:`Camera<class_camera>` camera, :ref:`InputEvent<class_inputevent>` event  **)** virtual
 
+This is a low level function for plugins that edit a given objet type derived from Spatial to capture the input of the viewport. The function is only being called if your object is being edited.
+
+By using the :ref:`InputEvent<class_inputevent>` and the :ref:`Camera<class_camera>` arguments it's pretty easy to do raycasts into space using Camera functions.
+
+Return true if you want to capture the input, otherwise false.
+
+.. _class_EditorPlugin_get_base_control:
+
+- :ref:`Control<class_control>`  **get_base_control**  **(** **)**
+
+Get a base control where it's safe to place dialogs. Many plugins open dialogs and they need a control as a base to make sure they use the editor icons and theme.
+
 .. _class_EditorPlugin_get_breakpoints:
 
 - :ref:`StringArray<class_stringarray>`  **get_breakpoints**  **(** **)** virtual
 
+This is for editors that edit script based objects. You can return a list of breakpoints in the format (script:line), for example: res://path_to_script.gd:25
+
+.. _class_EditorPlugin_get_editor_settings:
+
+- :ref:`EditorSettings<class_editorsettings>`  **get_editor_settings**  **(** **)**
+
+Get the general settings for the editor (the same window that appears in the Settings menu).
+
 .. _class_EditorPlugin_get_name:
 
 - :ref:`String<class_string>`  **get_name**  **(** **)** virtual
 
+Get the name of the editor plugin. For main scren plugins this is what will appear in the selector (which by default is 2D, 3D, Script).
+
+.. _class_EditorPlugin_get_selection:
+
+- :ref:`EditorSelection<class_editorselection>`  **get_selection**  **(** **)**
+
+Get the object that handles the selection of nodes in the Scene Tree editor.
+
 .. _class_EditorPlugin_get_state:
 
 - :ref:`Dictionary<class_dictionary>`  **get_state**  **(** **)** virtual
 
+Get the state of your plugin editor. This is used when saving the scene (so state is kept when opening it again) and for switching tabs (so state can be restored when the tab returns).
+
 .. _class_EditorPlugin_get_undo_redo:
 
-- :ref:`Object<class_object>`  **get_undo_redo**  **(** **)**
+- :ref:`UndoRedo<class_undoredo>`  **get_undo_redo**  **(** **)**
+
+Get the undo/redo object. Most actions in the editor can be undoable, so use this object to make sure this happens when it's worth it.
 
 .. _class_EditorPlugin_handles:
 
 - :ref:`bool<class_bool>`  **handles**  **(** :ref:`Object<class_object>` object  **)** virtual
 
+Implement this function if your plugin edits a specific type of object (Resource or Node). If you return true, then you will get the functions :ref:`EditorPlugin.edit<class_EditorPlugin_edit>` and :ref:`EditorPlugin.make_visible<class_EditorPlugin_make_visible>` called when the editor requests them.
+
 .. _class_EditorPlugin_has_main_screen:
 
 - :ref:`bool<class_bool>`  **has_main_screen**  **(** **)** virtual
 
+Return true if this is a main screen editor plugin (it goes in the main screen selector together with 2D, 3D, Script).
+
 .. _class_EditorPlugin_make_visible:
 
 - void  **make_visible**  **(** :ref:`bool<class_bool>` visible  **)** virtual
 
+This function will be called when the editor is requested to become visible. It is used for plugins that edit a specific object type.
+
+Remember that you have to manage the visibility of all your editor controls manually.
+
+.. _class_EditorPlugin_remove_control_from_bottom_panel:
+
+- void  **remove_control_from_bottom_panel**  **(** :ref:`Control<class_control>` control  **)**
+
+Remove the control from the bottom panel. Don't forget to call this if you added one, so the editor can remove it cleanly.
+
+.. _class_EditorPlugin_remove_control_from_docks:
+
+- void  **remove_control_from_docks**  **(** :ref:`Control<class_control>` control  **)**
+
+Remove the control from the dock. Don't forget to call this if you added one, so the editor can save the layout and remove it cleanly.
+
 .. _class_EditorPlugin_remove_custom_type:
 
 - void  **remove_custom_type**  **(** :ref:`String<class_string>` type  **)**
 
+Remove a custom type added by :ref:`EditorPlugin.add_custom_type<class_EditorPlugin_add_custom_type>`
+
+.. _class_EditorPlugin_remove_export_plugin:
+
+- void  **remove_export_plugin**  **(** :ref:`EditorExportPlugin<class_editorexportplugin>` plugin  **)**
+
+Remove the export plugin, don't forget to call this on exit.
+
+.. _class_EditorPlugin_remove_import_plugin:
+
+- void  **remove_import_plugin**  **(** :ref:`EditorImportPlugin<class_editorimportplugin>` plugin  **)**
+
+Remove the import plugin, don't forget to call this on exit.
+
 .. _class_EditorPlugin_set_state:
 
 - void  **set_state**  **(** :ref:`Dictionary<class_dictionary>` state  **)** virtual
 
+Restore the state saved by :ref:`EditorPlugin.get_state<class_EditorPlugin_get_state>`.
+
 

+ 10 - 1
classes/class_editorscenepostimport.rst

@@ -13,7 +13,7 @@ EditorScenePostImport
 Brief Description
 -----------------
 
-
+Base script for post-processing scenes being imported.
 
 Member Functions
 ----------------
@@ -22,6 +22,11 @@ Member Functions
 | void  | :ref:`post_import<class_EditorScenePostImport_post_import>`  **(** :ref:`Object<class_object>` scene  **)** virtual |
 +-------+---------------------------------------------------------------------------------------------------------------------+
 
+Description
+-----------
+
+These scripts can modify scenes after being imported by the 3D Scene import option of the Import menu.
+
 Member Function Description
 ---------------------------
 
@@ -29,4 +34,8 @@ Member Function Description
 
 - void  **post_import**  **(** :ref:`Object<class_object>` scene  **)** virtual
 
+This function is called upon import with the imported scene.
+
+Just do any changes desired to the scene and return it. If null is returned, import will fail and throw an error to the user.
+
 

+ 6 - 1
classes/class_editorscript.rst

@@ -13,7 +13,7 @@ EditorScript
 Brief Description
 -----------------
 
-
+Simple script to perform changes in the currently edited scene.
 
 Member Functions
 ----------------
@@ -26,6 +26,11 @@ Member Functions
 | :ref:`Object<class_object>`  | :ref:`get_scene<class_EditorScript_get_scene>`  **(** **)**                                           |
 +------------------------------+-------------------------------------------------------------------------------------------------------+
 
+Description
+-----------
+
+This script can be run from the Scene -> Run Script menu option.
+
 Member Function Description
 ---------------------------
 

+ 68 - 0
classes/class_editorselection.rst

@@ -0,0 +1,68 @@
+.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. DO NOT EDIT THIS FILE, but the doc/base/classes.xml source instead.
+
+.. _class_EditorSelection:
+
+EditorSelection
+===============
+
+**Inherits:** :ref:`Object<class_object>`
+
+**Category:** Core
+
+Brief Description
+-----------------
+
+Manages the SceneTree selection in the editor.
+
+Member Functions
+----------------
+
++----------------------------+--------------------------------------------------------------------------------------------------+
+| void                       | :ref:`add_node<class_EditorSelection_add_node>`  **(** :ref:`Node<class_node>` node  **)**       |
++----------------------------+--------------------------------------------------------------------------------------------------+
+| void                       | :ref:`clear<class_EditorSelection_clear>`  **(** **)**                                           |
++----------------------------+--------------------------------------------------------------------------------------------------+
+| :ref:`Array<class_array>`  | :ref:`get_selected_nodes<class_EditorSelection_get_selected_nodes>`  **(** **)**                 |
++----------------------------+--------------------------------------------------------------------------------------------------+
+| void                       | :ref:`remove_node<class_EditorSelection_remove_node>`  **(** :ref:`Node<class_node>` node  **)** |
++----------------------------+--------------------------------------------------------------------------------------------------+
+
+Signals
+-------
+
+-  **selection_changed**  **(** **)**
+
+Description
+-----------
+
+This object manages the SceneTree selection in the editor.
+
+Member Function Description
+---------------------------
+
+.. _class_EditorSelection_add_node:
+
+- void  **add_node**  **(** :ref:`Node<class_node>` node  **)**
+
+Add a node to the selection.
+
+.. _class_EditorSelection_clear:
+
+- void  **clear**  **(** **)**
+
+Clear the selection.
+
+.. _class_EditorSelection_get_selected_nodes:
+
+- :ref:`Array<class_array>`  **get_selected_nodes**  **(** **)**
+
+Get the list of selectes nodes.
+
+.. _class_EditorSelection_remove_node:
+
+- void  **remove_node**  **(** :ref:`Node<class_node>` node  **)**
+
+Remove a node from the selection.
+
+

+ 104 - 0
classes/class_editorsettings.rst

@@ -0,0 +1,104 @@
+.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. DO NOT EDIT THIS FILE, but the doc/base/classes.xml source instead.
+
+.. _class_EditorSettings:
+
+EditorSettings
+==============
+
+**Inherits:** :ref:`Resource<class_resource>` **<** :ref:`Reference<class_reference>` **<** :ref:`Object<class_object>`
+
+**Category:** Core
+
+Brief Description
+-----------------
+
+Object that holds the project-independent editor settings.
+
+Member Functions
+----------------
+
++----------------------------------------+---------------------------------------------------------------------------------------------------------------------------+
+| void                                   | :ref:`erase<class_EditorSettings_erase>`  **(** :ref:`String<class_string>` property  **)**                               |
++----------------------------------------+---------------------------------------------------------------------------------------------------------------------------+
+| :ref:`StringArray<class_stringarray>`  | :ref:`get_favorite_dirs<class_EditorSettings_get_favorite_dirs>`  **(** **)** const                                       |
++----------------------------------------+---------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_string>`            | :ref:`get_project_settings_path<class_EditorSettings_get_project_settings_path>`  **(** **)** const                       |
++----------------------------------------+---------------------------------------------------------------------------------------------------------------------------+
+| :ref:`StringArray<class_stringarray>`  | :ref:`get_recent_dirs<class_EditorSettings_get_recent_dirs>`  **(** **)** const                                           |
++----------------------------------------+---------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_string>`            | :ref:`get_settings_path<class_EditorSettings_get_settings_path>`  **(** **)** const                                       |
++----------------------------------------+---------------------------------------------------------------------------------------------------------------------------+
+| void                                   | :ref:`set_favorite_dirs<class_EditorSettings_set_favorite_dirs>`  **(** :ref:`StringArray<class_stringarray>` dirs  **)** |
++----------------------------------------+---------------------------------------------------------------------------------------------------------------------------+
+| void                                   | :ref:`set_recent_dirs<class_EditorSettings_set_recent_dirs>`  **(** :ref:`StringArray<class_stringarray>` dirs  **)**     |
++----------------------------------------+---------------------------------------------------------------------------------------------------------------------------+
+
+Signals
+-------
+
+-  **settings_changed**  **(** **)**
+
+Description
+-----------
+
+Object that holds the project-independent editor settings. These settings are generally visible in the Editor Settings menu.
+
+Accessing the settings is done by using the regular :ref:`Object<class_object>` API, such as:
+
+::
+
+    settings.set(prop,value)
+    settings.get(prop)
+    list_of_settings = settings.get_property_list()
+
+Member Function Description
+---------------------------
+
+.. _class_EditorSettings_erase:
+
+- void  **erase**  **(** :ref:`String<class_string>` property  **)**
+
+Erase a given setting (pass full property path).
+
+.. _class_EditorSettings_get_favorite_dirs:
+
+- :ref:`StringArray<class_stringarray>`  **get_favorite_dirs**  **(** **)** const
+
+Get the list of favorite directories for this project.
+
+.. _class_EditorSettings_get_project_settings_path:
+
+- :ref:`String<class_string>`  **get_project_settings_path**  **(** **)** const
+
+Get the specific project settings path. Projects all have an unique sub-directory inside the settings path where project specific settings are saved.
+
+.. _class_EditorSettings_get_recent_dirs:
+
+- :ref:`StringArray<class_stringarray>`  **get_recent_dirs**  **(** **)** const
+
+Get the list of recently visited folders in the file dialog for this project.
+
+.. _class_EditorSettings_get_settings_path:
+
+- :ref:`String<class_string>`  **get_settings_path**  **(** **)** const
+
+Get the global settings path for the engine. Inside this path you can find some standard paths such as:
+
+settings/tmp - used for temporary storage of files
+
+settings/templates - where export templates are located
+
+.. _class_EditorSettings_set_favorite_dirs:
+
+- void  **set_favorite_dirs**  **(** :ref:`StringArray<class_stringarray>` dirs  **)**
+
+Set the list of favorite directories for this project.
+
+.. _class_EditorSettings_set_recent_dirs:
+
+- void  **set_recent_dirs**  **(** :ref:`StringArray<class_stringarray>` dirs  **)**
+
+Set the list of recently visited folders in the file dialog for this project.
+
+

+ 139 - 0
classes/class_editorspatialgizmo.rst

@@ -0,0 +1,139 @@
+.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. DO NOT EDIT THIS FILE, but the doc/base/classes.xml source instead.
+
+.. _class_EditorSpatialGizmo:
+
+EditorSpatialGizmo
+==================
+
+**Inherits:** :ref:`SpatialGizmo<class_spatialgizmo>` **<** :ref:`Reference<class_reference>` **<** :ref:`Object<class_object>`
+
+**Category:** Core
+
+Brief Description
+-----------------
+
+Custom gizmo for editing Spatial objects.
+
+Member Functions
+----------------
+
++--------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                           | :ref:`add_collision_segments<class_EditorSpatialGizmo_add_collision_segments>`  **(** :ref:`Vector3Array<class_vector3array>` segments  **)**                                                            |
++--------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                           | :ref:`add_collision_triangles<class_EditorSpatialGizmo_add_collision_triangles>`  **(** TriangleMesh triangles  **)**                                                                                    |
++--------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                           | :ref:`add_handles<class_EditorSpatialGizmo_add_handles>`  **(** :ref:`Vector3Array<class_vector3array>` handles, :ref:`bool<class_bool>` billboard=false, :ref:`bool<class_bool>` secondary=false  **)** |
++--------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                           | :ref:`add_lines<class_EditorSpatialGizmo_add_lines>`  **(** :ref:`Vector3Array<class_vector3array>` lines, :ref:`Material<class_material>` material, :ref:`bool<class_bool>` billboard=false  **)**      |
++--------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                           | :ref:`add_mesh<class_EditorSpatialGizmo_add_mesh>`  **(** :ref:`Mesh<class_mesh>` mesh, :ref:`bool<class_bool>` billboard=false, :ref:`RID<class_rid>` skeleton=RID()  **)**                             |
++--------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                           | :ref:`add_unscaled_billboard<class_EditorSpatialGizmo_add_unscaled_billboard>`  **(** :ref:`Material<class_material>` material, :ref:`float<class_float>` default_scale=1  **)**                         |
++--------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                           | :ref:`clear<class_EditorSpatialGizmo_clear>`  **(** **)**                                                                                                                                                |
++--------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                           | :ref:`commit_handle<class_EditorSpatialGizmo_commit_handle>`  **(** :ref:`int<class_int>` index, :ref:`Variant<class_variant>` restore, :ref:`bool<class_bool>` cancel  **)** virtual                    |
++--------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_string>`    | :ref:`get_handle_name<class_EditorSpatialGizmo_get_handle_name>`  **(** :ref:`int<class_int>` index  **)** virtual                                                                                       |
++--------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Variant<class_variant>`  | :ref:`get_handle_value<class_EditorSpatialGizmo_get_handle_value>`  **(** :ref:`int<class_int>` index  **)** virtual                                                                                     |
++--------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                           | :ref:`redraw<class_EditorSpatialGizmo_redraw>`  **(** **)** virtual                                                                                                                                      |
++--------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                           | :ref:`set_handle<class_EditorSpatialGizmo_set_handle>`  **(** :ref:`int<class_int>` index, :ref:`Camera<class_camera>` camera, :ref:`Vector2<class_vector2>` point  **)** virtual                        |
++--------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                           | :ref:`set_spatial_node<class_EditorSpatialGizmo_set_spatial_node>`  **(** :ref:`Spatial<class_spatial>` node  **)**                                                                                      |
++--------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+
+Description
+-----------
+
+Custom gizmo that is used for providing custom visualization and editing (handles) for 3D Spatial objects. These are created by :ref:`EditorPlugin.create_spatial_gizmo<class_EditorPlugin_create_spatial_gizmo>`.
+
+Member Function Description
+---------------------------
+
+.. _class_EditorSpatialGizmo_add_collision_segments:
+
+- void  **add_collision_segments**  **(** :ref:`Vector3Array<class_vector3array>` segments  **)**
+
+.. _class_EditorSpatialGizmo_add_collision_triangles:
+
+- void  **add_collision_triangles**  **(** TriangleMesh triangles  **)**
+
+Add collision triangles to the gizmo for picking. A :ref:`TriangleMesh<class_trianglemesh>` can be generated from a regular :ref:`Mesh<class_mesh>` too. Call this function during :ref:`redraw<class_EditorSpatialGizmo_redraw>`.
+
+.. _class_EditorSpatialGizmo_add_handles:
+
+- void  **add_handles**  **(** :ref:`Vector3Array<class_vector3array>` handles, :ref:`bool<class_bool>` billboard=false, :ref:`bool<class_bool>` secondary=false  **)**
+
+Add a list of handles (points) which can be used to deform the object being edited.
+
+There are virtual functions which will be called upon editing of these handles. Call this function during :ref:`redraw<class_EditorSpatialGizmo_redraw>`.
+
+.. _class_EditorSpatialGizmo_add_lines:
+
+- void  **add_lines**  **(** :ref:`Vector3Array<class_vector3array>` lines, :ref:`Material<class_material>` material, :ref:`bool<class_bool>` billboard=false  **)**
+
+Add lines to the gizmo (as sets of 2 points), with a given material. The lines are used for visualizing the gizmo. Call this function during :ref:`redraw<class_EditorSpatialGizmo_redraw>`.
+
+.. _class_EditorSpatialGizmo_add_mesh:
+
+- void  **add_mesh**  **(** :ref:`Mesh<class_mesh>` mesh, :ref:`bool<class_bool>` billboard=false, :ref:`RID<class_rid>` skeleton=RID()  **)**
+
+Add a mesh to the gizmo, this is used for visualization. Call this function during :ref:`redraw<class_EditorSpatialGizmo_redraw>`.
+
+.. _class_EditorSpatialGizmo_add_unscaled_billboard:
+
+- void  **add_unscaled_billboard**  **(** :ref:`Material<class_material>` material, :ref:`float<class_float>` default_scale=1  **)**
+
+Add an unscaled billboard for visualization. Call this function during :ref:`redraw<class_EditorSpatialGizmo_redraw>`.
+
+.. _class_EditorSpatialGizmo_clear:
+
+- void  **clear**  **(** **)**
+
+.. _class_EditorSpatialGizmo_commit_handle:
+
+- void  **commit_handle**  **(** :ref:`int<class_int>` index, :ref:`Variant<class_variant>` restore, :ref:`bool<class_bool>` cancel  **)** virtual
+
+Commit a handle being edited (handles must have been prevously added by :ref:`add_handles<class_EditorSpatialGizmo_add_handles>`).
+
+If the cancel parameter is true, an option to restore the edited value to the original is provided.
+
+.. _class_EditorSpatialGizmo_get_handle_name:
+
+- :ref:`String<class_string>`  **get_handle_name**  **(** :ref:`int<class_int>` index  **)** virtual
+
+Get the name of an edited handle (handles must have been previously added by :ref:`add_handles<class_EditorSpatialGizmo_add_handles>`).
+
+Handles can be named for reference to the user when editing.
+
+.. _class_EditorSpatialGizmo_get_handle_value:
+
+- :ref:`Variant<class_variant>`  **get_handle_value**  **(** :ref:`int<class_int>` index  **)** virtual
+
+Get actual value of a handle. This value can be anything and used for eventually undoing the motion when calling :ref:`commit_handle<class_EditorSpatialGizmo_commit_handle>`
+
+.. _class_EditorSpatialGizmo_redraw:
+
+- void  **redraw**  **(** **)** virtual
+
+This function is called when the Spatial this gizmo refers to changes (the :ref:`Spatial.update_gizmo<class_Spatial_update_gizmo>` is called).
+
+.. _class_EditorSpatialGizmo_set_handle:
+
+- void  **set_handle**  **(** :ref:`int<class_int>` index, :ref:`Camera<class_camera>` camera, :ref:`Vector2<class_vector2>` point  **)** virtual
+
+This function is used when the user drags a gizmo handle (previously added with :ref:`add_handles<class_EditorSpatialGizmo_add_handles>`) in screen coordinates.
+
+The :ref:`Camera<class_camera>` is also provided so screen coordinates can be converted to raycasts.
+
+.. _class_EditorSpatialGizmo_set_spatial_node:
+
+- void  **set_spatial_node**  **(** :ref:`Spatial<class_spatial>` node  **)**
+
+Call this function once and upon creation of the gizmo, otherwise no other function will work. The argument is the node being edited by the gizmo.
+
+

+ 19 - 19
classes/class_environment.rst

@@ -18,23 +18,23 @@ Brief Description
 Member Functions
 ----------------
 
-+--------------------------+-----------------------------------------------------------------------------------------------------------------------------------+
-| void                     | :ref:`fx_get_param<class_Environment_fx_get_param>`  **(** :ref:`int<class_int>` param  **)** const                               |
-+--------------------------+-----------------------------------------------------------------------------------------------------------------------------------+
-| void                     | :ref:`fx_set_param<class_Environment_fx_set_param>`  **(** :ref:`int<class_int>` param, var value  **)**                          |
-+--------------------------+-----------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`    | :ref:`get_background<class_Environment_get_background>`  **(** **)** const                                                        |
-+--------------------------+-----------------------------------------------------------------------------------------------------------------------------------+
-| void                     | :ref:`get_background_param<class_Environment_get_background_param>`  **(** :ref:`int<class_int>` param  **)** const               |
-+--------------------------+-----------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`  | :ref:`is_fx_enabled<class_Environment_is_fx_enabled>`  **(** :ref:`int<class_int>` effect  **)** const                            |
-+--------------------------+-----------------------------------------------------------------------------------------------------------------------------------+
-| void                     | :ref:`set_background<class_Environment_set_background>`  **(** :ref:`int<class_int>` bgmode  **)**                                |
-+--------------------------+-----------------------------------------------------------------------------------------------------------------------------------+
-| void                     | :ref:`set_background_param<class_Environment_set_background_param>`  **(** :ref:`int<class_int>` param, var value  **)**          |
-+--------------------------+-----------------------------------------------------------------------------------------------------------------------------------+
-| void                     | :ref:`set_enable_fx<class_Environment_set_enable_fx>`  **(** :ref:`int<class_int>` effect, :ref:`bool<class_bool>` enabled  **)** |
-+--------------------------+-----------------------------------------------------------------------------------------------------------------------------------+
++--------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                     | :ref:`fx_get_param<class_Environment_fx_get_param>`  **(** :ref:`int<class_int>` param  **)** const                                                |
++--------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                     | :ref:`fx_set_param<class_Environment_fx_set_param>`  **(** :ref:`int<class_int>` param, :ref:`Variant<class_variant>` value  **)**                 |
++--------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`    | :ref:`get_background<class_Environment_get_background>`  **(** **)** const                                                                         |
++--------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                     | :ref:`get_background_param<class_Environment_get_background_param>`  **(** :ref:`int<class_int>` param  **)** const                                |
++--------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`  | :ref:`is_fx_enabled<class_Environment_is_fx_enabled>`  **(** :ref:`int<class_int>` effect  **)** const                                             |
++--------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                     | :ref:`set_background<class_Environment_set_background>`  **(** :ref:`int<class_int>` bgmode  **)**                                                 |
++--------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                     | :ref:`set_background_param<class_Environment_set_background_param>`  **(** :ref:`int<class_int>` param, :ref:`Variant<class_variant>` value  **)** |
++--------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                     | :ref:`set_enable_fx<class_Environment_set_enable_fx>`  **(** :ref:`int<class_int>` effect, :ref:`bool<class_bool>` enabled  **)**                  |
++--------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------+
 
 Numeric Constants
 -----------------
@@ -107,7 +107,7 @@ Member Function Description
 
 .. _class_Environment_fx_set_param:
 
-- void  **fx_set_param**  **(** :ref:`int<class_int>` param, var value  **)**
+- void  **fx_set_param**  **(** :ref:`int<class_int>` param, :ref:`Variant<class_variant>` value  **)**
 
 .. _class_Environment_get_background:
 
@@ -127,7 +127,7 @@ Member Function Description
 
 .. _class_Environment_set_background_param:
 
-- void  **set_background_param**  **(** :ref:`int<class_int>` param, var value  **)**
+- void  **set_background_param**  **(** :ref:`int<class_int>` param, :ref:`Variant<class_variant>` value  **)**
 
 .. _class_Environment_set_enable_fx:
 

+ 19 - 9
classes/class_file.rst

@@ -51,12 +51,16 @@ Member Functions
 +----------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`String<class_string>`            | :ref:`get_line<class_File_get_line>`  **(** **)** const                                                                                                                                 |
 +----------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_string>`            | :ref:`get_md5<class_File_get_md5>`  **(** :ref:`String<class_string>` path  **)** const                                                                                                 |
++----------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`String<class_string>`            | :ref:`get_pascal_string<class_File_get_pascal_string>`  **(** **)**                                                                                                                     |
 +----------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`int<class_int>`                  | :ref:`get_pos<class_File_get_pos>`  **(** **)** const                                                                                                                                   |
 +----------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`float<class_float>`              | :ref:`get_real<class_File_get_real>`  **(** **)** const                                                                                                                                 |
 +----------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_string>`            | :ref:`get_sha256<class_File_get_sha256>`  **(** :ref:`String<class_string>` path  **)** const                                                                                           |
++----------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                   | :ref:`get_var<class_File_get_var>`  **(** **)** const                                                                                                                                   |
 +----------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`bool<class_bool>`                | :ref:`is_open<class_File_is_open>`  **(** **)** const                                                                                                                                   |
@@ -95,7 +99,7 @@ Member Functions
 +----------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                   | :ref:`store_string<class_File_store_string>`  **(** :ref:`String<class_string>` string  **)**                                                                                           |
 +----------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                   | :ref:`store_var<class_File_store_var>`  **(** var value  **)**                                                                                                                          |
+| void                                   | :ref:`store_var<class_File_store_var>`  **(** :ref:`Variant<class_variant>` value  **)**                                                                                                |
 +----------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 
 Numeric Constants
@@ -111,12 +115,8 @@ Description
 
 File type. This is used to permanently store data into the user device's file system and to read from it. This can be used to store game save data or player configuration files, for example.
 
-
-
 Here's a sample on how to write and read from a file:
 
-
-
 ::
 
     func save(content):
@@ -231,6 +231,12 @@ Return the size of the file in bytes.
 
 Get the next line of the file as a :ref:`String<class_string>`.
 
+.. _class_File_get_md5:
+
+- :ref:`String<class_string>`  **get_md5**  **(** :ref:`String<class_string>` path  **)** const
+
+Return a md5 String representing the file at the given path or an empty :ref:`String<class_string>` on failure.
+
 .. _class_File_get_pascal_string:
 
 - :ref:`String<class_string>`  **get_pascal_string**  **(** **)**
@@ -249,6 +255,12 @@ Return the file cursor position.
 
 Get the next bits from the file as a floating point number.
 
+.. _class_File_get_sha256:
+
+- :ref:`String<class_string>`  **get_sha256**  **(** :ref:`String<class_string>` path  **)** const
+
+Return a sha256 String representing the file at the given path or an empty :ref:`String<class_string>` on failure.
+
 .. _class_File_get_var:
 
 - void  **get_var**  **(** **)** const
@@ -297,9 +309,7 @@ Change the file reading/writing cursor to the specified position (in bytes from
 
 Set whether to swap the endianess of the file. Enable this if you're dealing with files written in big endian machines.
 
-
-
-            Note that this is about the file format, not CPU type. This is always reseted to ``false`` whenever you open the file.
+Note that this is about the file format, not CPU type. This is always reseted to ``false`` whenever you open the file.
 
 .. _class_File_store_16:
 
@@ -369,7 +379,7 @@ Store the given :ref:`String<class_string>` in the file.
 
 .. _class_File_store_var:
 
-- void  **store_var**  **(** var value  **)**
+- void  **store_var**  **(** :ref:`Variant<class_variant>` value  **)**
 
 Store any Variant value in the file.
 

+ 14 - 1
classes/class_filedialog.rst

@@ -31,6 +31,8 @@ Member Functions
 +--------------------------------------------+-----------------------------------------------------------------------------------------------------------------+
 | :ref:`String<class_string>`                | :ref:`get_current_path<class_FileDialog_get_current_path>`  **(** **)** const                                   |
 +--------------------------------------------+-----------------------------------------------------------------------------------------------------------------+
+| :ref:`StringArray<class_stringarray>`      | :ref:`get_filters<class_FileDialog_get_filters>`  **(** **)** const                                             |
++--------------------------------------------+-----------------------------------------------------------------------------------------------------------------+
 | :ref:`int<class_int>`                      | :ref:`get_mode<class_FileDialog_get_mode>`  **(** **)** const                                                   |
 +--------------------------------------------+-----------------------------------------------------------------------------------------------------------------+
 | :ref:`VBoxContainer<class_vboxcontainer>`  | :ref:`get_vbox<class_FileDialog_get_vbox>`  **(** **)**                                                         |
@@ -47,6 +49,8 @@ Member Functions
 +--------------------------------------------+-----------------------------------------------------------------------------------------------------------------+
 | void                                       | :ref:`set_current_path<class_FileDialog_set_current_path>`  **(** :ref:`String<class_string>` path  **)**       |
 +--------------------------------------------+-----------------------------------------------------------------------------------------------------------------+
+| void                                       | :ref:`set_filters<class_FileDialog_set_filters>`  **(** :ref:`StringArray<class_stringarray>` filters  **)**    |
++--------------------------------------------+-----------------------------------------------------------------------------------------------------------------+
 | void                                       | :ref:`set_mode<class_FileDialog_set_mode>`  **(** :ref:`int<class_int>` mode  **)**                             |
 +--------------------------------------------+-----------------------------------------------------------------------------------------------------------------+
 | void                                       | :ref:`set_show_hidden_files<class_FileDialog_set_show_hidden_files>`  **(** :ref:`bool<class_bool>` show  **)** |
@@ -65,7 +69,8 @@ Numeric Constants
 - **MODE_OPEN_FILE** = **0** --- The dialog allows the selection of one, and only one file.
 - **MODE_OPEN_FILES** = **1** --- The dialog allows the selection of multiple files.
 - **MODE_OPEN_DIR** = **2** --- The dialog functions as a folder selector, disallowing the selection of any file.
-- **MODE_SAVE_FILE** = **3** --- The dialog will warn when a file exists.
+- **MODE_OPEN_ANY** = **3** --- The dialog allows the selection of a file or a directory.
+- **MODE_SAVE_FILE** = **4** --- The dialog will warn when a file exists.
 - **ACCESS_RESOURCES** = **0** --- The dialog allows the selection of file and directory.
 - **ACCESS_USERDATA** = **1** --- The dialog allows ascess files under :ref:`Resource<class_resource>` path(res://) .
 - **ACCESS_FILESYSTEM** = **2** --- The dialog allows ascess files in whole file system.
@@ -114,6 +119,10 @@ Get the current selected file of the file dialog (empty if none).
 
 Get the current selected path (directory and file) of the file dialog (empty if none).
 
+.. _class_FileDialog_get_filters:
+
+- :ref:`StringArray<class_stringarray>`  **get_filters**  **(** **)** const
+
 .. _class_FileDialog_get_mode:
 
 - :ref:`int<class_int>`  **get_mode**  **(** **)** const
@@ -162,6 +171,10 @@ Set the current selected file name of the file dialog.
 
 Set the current selected file path of the file dialog.
 
+.. _class_FileDialog_set_filters:
+
+- void  **set_filters**  **(** :ref:`StringArray<class_stringarray>` filters  **)**
+
 .. _class_FileDialog_set_mode:
 
 - void  **set_mode**  **(** :ref:`int<class_int>` mode  **)**

+ 30 - 30
classes/class_fixedmaterial.rst

@@ -18,35 +18,35 @@ Simple Material with a fixed parameter set.
 Member Functions
 ----------------
 
-+------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`            | :ref:`get_fixed_flag<class_FixedMaterial_get_fixed_flag>`  **(** :ref:`int<class_int>` flag  **)** const                              |
-+------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`              | :ref:`get_light_shader<class_FixedMaterial_get_light_shader>`  **(** **)** const                                                      |
-+------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------+
-| void                               | :ref:`get_parameter<class_FixedMaterial_get_parameter>`  **(** :ref:`int<class_int>` param  **)** const                               |
-+------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`          | :ref:`get_point_size<class_FixedMaterial_get_point_size>`  **(** **)** const                                                          |
-+------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`              | :ref:`get_texcoord_mode<class_FixedMaterial_get_texcoord_mode>`  **(** :ref:`int<class_int>` param  **)** const                       |
-+------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Texture<class_texture>`      | :ref:`get_texture<class_FixedMaterial_get_texture>`  **(** :ref:`int<class_int>` param  **)** const                                   |
-+------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Transform<class_transform>`  | :ref:`get_uv_transform<class_FixedMaterial_get_uv_transform>`  **(** **)** const                                                      |
-+------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------+
-| void                               | :ref:`set_fixed_flag<class_FixedMaterial_set_fixed_flag>`  **(** :ref:`int<class_int>` flag, :ref:`bool<class_bool>` value  **)**     |
-+------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------+
-| void                               | :ref:`set_light_shader<class_FixedMaterial_set_light_shader>`  **(** :ref:`int<class_int>` shader  **)**                              |
-+------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------+
-| void                               | :ref:`set_parameter<class_FixedMaterial_set_parameter>`  **(** :ref:`int<class_int>` param, var value  **)**                          |
-+------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------+
-| void                               | :ref:`set_point_size<class_FixedMaterial_set_point_size>`  **(** :ref:`float<class_float>` size  **)**                                |
-+------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------+
-| void                               | :ref:`set_texcoord_mode<class_FixedMaterial_set_texcoord_mode>`  **(** :ref:`int<class_int>` param, :ref:`int<class_int>` mode  **)** |
-+------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------+
-| void                               | :ref:`set_texture<class_FixedMaterial_set_texture>`  **(** :ref:`int<class_int>` param, :ref:`Texture<class_texture>` texture  **)**  |
-+------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------+
-| void                               | :ref:`set_uv_transform<class_FixedMaterial_set_uv_transform>`  **(** :ref:`Transform<class_transform>` transform  **)**               |
-+------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------+
++------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`            | :ref:`get_fixed_flag<class_FixedMaterial_get_fixed_flag>`  **(** :ref:`int<class_int>` flag  **)** const                               |
++------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`              | :ref:`get_light_shader<class_FixedMaterial_get_light_shader>`  **(** **)** const                                                       |
++------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------+
+| void                               | :ref:`get_parameter<class_FixedMaterial_get_parameter>`  **(** :ref:`int<class_int>` param  **)** const                                |
++------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`          | :ref:`get_point_size<class_FixedMaterial_get_point_size>`  **(** **)** const                                                           |
++------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`              | :ref:`get_texcoord_mode<class_FixedMaterial_get_texcoord_mode>`  **(** :ref:`int<class_int>` param  **)** const                        |
++------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Texture<class_texture>`      | :ref:`get_texture<class_FixedMaterial_get_texture>`  **(** :ref:`int<class_int>` param  **)** const                                    |
++------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Transform<class_transform>`  | :ref:`get_uv_transform<class_FixedMaterial_get_uv_transform>`  **(** **)** const                                                       |
++------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------+
+| void                               | :ref:`set_fixed_flag<class_FixedMaterial_set_fixed_flag>`  **(** :ref:`int<class_int>` flag, :ref:`bool<class_bool>` value  **)**      |
++------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------+
+| void                               | :ref:`set_light_shader<class_FixedMaterial_set_light_shader>`  **(** :ref:`int<class_int>` shader  **)**                               |
++------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------+
+| void                               | :ref:`set_parameter<class_FixedMaterial_set_parameter>`  **(** :ref:`int<class_int>` param, :ref:`Variant<class_variant>` value  **)** |
++------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------+
+| void                               | :ref:`set_point_size<class_FixedMaterial_set_point_size>`  **(** :ref:`float<class_float>` size  **)**                                 |
++------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------+
+| void                               | :ref:`set_texcoord_mode<class_FixedMaterial_set_texcoord_mode>`  **(** :ref:`int<class_int>` param, :ref:`int<class_int>` mode  **)**  |
++------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------+
+| void                               | :ref:`set_texture<class_FixedMaterial_set_texture>`  **(** :ref:`int<class_int>` param, :ref:`Texture<class_texture>` texture  **)**   |
++------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------+
+| void                               | :ref:`set_uv_transform<class_FixedMaterial_set_uv_transform>`  **(** :ref:`Transform<class_transform>` transform  **)**                |
++------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------+
 
 Numeric Constants
 -----------------
@@ -127,7 +127,7 @@ Returns the special transform used to post-transform UV coordinates of the uv_xf
 
 .. _class_FixedMaterial_set_parameter:
 
-- void  **set_parameter**  **(** :ref:`int<class_int>` param, var value  **)**
+- void  **set_parameter**  **(** :ref:`int<class_int>` param, :ref:`Variant<class_variant>` value  **)**
 
 Set a parameter, parameters are defined in the PARAM\_\* enum. The type of each parameter may change, so it's best to check the enum.
 

+ 6 - 96
classes/class_font.rst

@@ -8,6 +8,8 @@ Font
 
 **Inherits:** :ref:`Resource<class_resource>` **<** :ref:`Reference<class_reference>` **<** :ref:`Object<class_object>`
 
+**Inherited By:** :ref:`DynamicFont<class_dynamicfont>`, :ref:`BitmapFont<class_bitmapfont>`
+
 **Category:** Core
 
 Brief Description
@@ -18,16 +20,6 @@ Internationalized font and text drawing support.
 Member Functions
 ----------------
 
-+--------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                           | :ref:`add_char<class_Font_add_char>`  **(** :ref:`int<class_int>` character, :ref:`int<class_int>` texture, :ref:`Rect2<class_rect2>` rect, :ref:`Vector2<class_vector2>` align=Vector2(0,0), :ref:`float<class_float>` advance=-1  **)**     |
-+--------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                           | :ref:`add_kerning_pair<class_Font_add_kerning_pair>`  **(** :ref:`int<class_int>` char_a, :ref:`int<class_int>` char_b, :ref:`int<class_int>` kerning  **)**                                                                                  |
-+--------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                           | :ref:`add_texture<class_Font_add_texture>`  **(** :ref:`Texture<class_texture>` texture  **)**                                                                                                                                                |
-+--------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                           | :ref:`clear<class_Font_clear>`  **(** **)**                                                                                                                                                                                                   |
-+--------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`          | :ref:`create_from_fnt<class_Font_create_from_fnt>`  **(** :ref:`String<class_string>` path  **)**                                                                                                                                             |
 +--------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                           | :ref:`draw<class_Font_draw>`  **(** :ref:`RID<class_rid>` canvas_item, :ref:`Vector2<class_vector2>` pos, :ref:`String<class_string>` string, :ref:`Color<class_color>` modulate=Color(1,1,1,1), :ref:`int<class_int>` clip_w=-1  **)** const |
 +--------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
@@ -35,31 +27,15 @@ Member Functions
 +--------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`float<class_float>`      | :ref:`get_ascent<class_Font_get_ascent>`  **(** **)** const                                                                                                                                                                                   |
 +--------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Vector2<class_vector2>`  | :ref:`get_char_size<class_Font_get_char_size>`  **(** :ref:`int<class_int>` char, :ref:`int<class_int>` next=0  **)** const                                                                                                                   |
-+--------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`float<class_float>`      | :ref:`get_descent<class_Font_get_descent>`  **(** **)** const                                                                                                                                                                                 |
 +--------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Object<class_object>`    | :ref:`get_fallback<class_Font_get_fallback>`  **(** **)** const                                                                                                                                                                               |
-+--------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`float<class_float>`      | :ref:`get_height<class_Font_get_height>`  **(** **)** const                                                                                                                                                                                   |
 +--------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`          | :ref:`get_kerning_pair<class_Font_get_kerning_pair>`  **(** :ref:`int<class_int>` char_a, :ref:`int<class_int>` char_b  **)** const                                                                                                           |
-+--------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`Vector2<class_vector2>`  | :ref:`get_string_size<class_Font_get_string_size>`  **(** :ref:`String<class_string>` string  **)** const                                                                                                                                     |
 +--------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Texture<class_texture>`  | :ref:`get_texture<class_Font_get_texture>`  **(** :ref:`int<class_int>` idx  **)** const                                                                                                                                                      |
-+--------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`          | :ref:`get_texture_count<class_Font_get_texture_count>`  **(** **)** const                                                                                                                                                                     |
-+--------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`bool<class_bool>`        | :ref:`is_distance_field_hint<class_Font_is_distance_field_hint>`  **(** **)** const                                                                                                                                                           |
 +--------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                           | :ref:`set_ascent<class_Font_set_ascent>`  **(** :ref:`float<class_float>` px  **)**                                                                                                                                                           |
-+--------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                           | :ref:`set_distance_field_hint<class_Font_set_distance_field_hint>`  **(** :ref:`bool<class_bool>` enable  **)**                                                                                                                               |
-+--------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                           | :ref:`set_fallback<class_Font_set_fallback>`  **(** :ref:`Object<class_object>` fallback  **)**                                                                                                                                               |
-+--------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                           | :ref:`set_height<class_Font_set_height>`  **(** :ref:`float<class_float>` px  **)**                                                                                                                                                           |
+| void                           | :ref:`update_changes<class_Font_update_changes>`  **(** **)**                                                                                                                                                                                 |
 +--------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 
 Description
@@ -70,34 +46,6 @@ Font contains an unicode compatible character set, as well as the ability to dra
 Member Function Description
 ---------------------------
 
-.. _class_Font_add_char:
-
-- void  **add_char**  **(** :ref:`int<class_int>` character, :ref:`int<class_int>` texture, :ref:`Rect2<class_rect2>` rect, :ref:`Vector2<class_vector2>` align=Vector2(0,0), :ref:`float<class_float>` advance=-1  **)**
-
-Add a character to the font, where "character" is the unicode value, "texture" is the texture index, "rect" is the region in the texture (in pixels!), "align" is the (optional) alignment for the character and "advance" is the (optional) advance.
-
-.. _class_Font_add_kerning_pair:
-
-- void  **add_kerning_pair**  **(** :ref:`int<class_int>` char_a, :ref:`int<class_int>` char_b, :ref:`int<class_int>` kerning  **)**
-
-Add a kerning pair to the :ref:`Font<class_font>` as a difference. Kerning pairs are special cases where a typeface advance is determined by the next character.
-
-.. _class_Font_add_texture:
-
-- void  **add_texture**  **(** :ref:`Texture<class_texture>` texture  **)**
-
-Add a texture to the :ref:`Font<class_font>`.
-
-.. _class_Font_clear:
-
-- void  **clear**  **(** **)**
-
-Clear all the font data.
-
-.. _class_Font_create_from_fnt:
-
-- :ref:`int<class_int>`  **create_from_fnt**  **(** :ref:`String<class_string>` path  **)**
-
 .. _class_Font_draw:
 
 - void  **draw**  **(** :ref:`RID<class_rid>` canvas_item, :ref:`Vector2<class_vector2>` pos, :ref:`String<class_string>` string, :ref:`Color<class_color>` modulate=Color(1,1,1,1), :ref:`int<class_int>` clip_w=-1  **)** const
@@ -116,70 +64,32 @@ Draw character "char" into a canvas item using the font at a given "pos" positio
 
 Return the font ascent (number of pixels above the baseline).
 
-.. _class_Font_get_char_size:
-
-- :ref:`Vector2<class_vector2>`  **get_char_size**  **(** :ref:`int<class_int>` char, :ref:`int<class_int>` next=0  **)** const
-
-Return the size of a character, optionally taking kerning into account if the next character is provided.
-
 .. _class_Font_get_descent:
 
 - :ref:`float<class_float>`  **get_descent**  **(** **)** const
 
 Return the font descent (number of pixels below the baseline).
 
-.. _class_Font_get_fallback:
-
-- :ref:`Object<class_object>`  **get_fallback**  **(** **)** const
-
 .. _class_Font_get_height:
 
 - :ref:`float<class_float>`  **get_height**  **(** **)** const
 
 Return the total font height (ascent plus descent) in pixels.
 
-.. _class_Font_get_kerning_pair:
-
-- :ref:`int<class_int>`  **get_kerning_pair**  **(** :ref:`int<class_int>` char_a, :ref:`int<class_int>` char_b  **)** const
-
-Return a kerning pair as a difference. Kerning pairs are special cases where a typeface advance is determined by the next character.
-
 .. _class_Font_get_string_size:
 
 - :ref:`Vector2<class_vector2>`  **get_string_size**  **(** :ref:`String<class_string>` string  **)** const
 
 Return the size of a string, taking kerning and advance into account.
 
-.. _class_Font_get_texture:
-
-- :ref:`Texture<class_texture>`  **get_texture**  **(** :ref:`int<class_int>` idx  **)** const
-
-.. _class_Font_get_texture_count:
-
-- :ref:`int<class_int>`  **get_texture_count**  **(** **)** const
-
 .. _class_Font_is_distance_field_hint:
 
 - :ref:`bool<class_bool>`  **is_distance_field_hint**  **(** **)** const
 
-.. _class_Font_set_ascent:
-
-- void  **set_ascent**  **(** :ref:`float<class_float>` px  **)**
-
-Set the font ascent (number of pixels above the baseline).
-
-.. _class_Font_set_distance_field_hint:
-
-- void  **set_distance_field_hint**  **(** :ref:`bool<class_bool>` enable  **)**
-
-.. _class_Font_set_fallback:
-
-- void  **set_fallback**  **(** :ref:`Object<class_object>` fallback  **)**
-
-.. _class_Font_set_height:
+.. _class_Font_update_changes:
 
-- void  **set_height**  **(** :ref:`float<class_float>` px  **)**
+- void  **update_changes**  **(** **)**
 
-Set the total font height (ascent plus descent) in pixels.
+After editing a font (changing size, ascent, char rects, etc.). Call this function to propagate changes to controls that might use it.
 
 

+ 22 - 9
classes/class_funcref.rst

@@ -13,32 +13,45 @@ FuncRef
 Brief Description
 -----------------
 
-
+Reference to a function in an object.
 
 Member Functions
 ----------------
 
-+-------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void  | :ref:`call_func<class_FuncRef_call_func>`  **(** var arg0=NULL, var arg1=NULL, var arg2=NULL, var arg3=NULL, var arg4=NULL, var arg5=NULL, var arg6=NULL, var arg7=NULL, var arg8=NULL, var arg9=NULL  **)** |
-+-------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void  | :ref:`set_function<class_FuncRef_set_function>`  **(** :ref:`String<class_string>` name  **)**                                                                                                               |
-+-------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void  | :ref:`set_instance<class_FuncRef_set_instance>`  **(** :ref:`Object<class_object>` instance  **)**                                                                                                           |
-+-------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
++-------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void  | :ref:`call_func<class_FuncRef_call_func>`  **(** :ref:`Variant<class_variant>` arg0=NULL, :ref:`Variant<class_variant>` arg1=NULL, :ref:`Variant<class_variant>` arg2=NULL, :ref:`Variant<class_variant>` arg3=NULL, :ref:`Variant<class_variant>` arg4=NULL, :ref:`Variant<class_variant>` arg5=NULL, :ref:`Variant<class_variant>` arg6=NULL, :ref:`Variant<class_variant>` arg7=NULL, :ref:`Variant<class_variant>` arg8=NULL, :ref:`Variant<class_variant>` arg9=NULL  **)** |
++-------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void  | :ref:`set_function<class_FuncRef_set_function>`  **(** :ref:`String<class_string>` name  **)**                                                                                                                                                                                                                                                                                                                                                                                   |
++-------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void  | :ref:`set_instance<class_FuncRef_set_instance>`  **(** :ref:`Object<class_object>` instance  **)**                                                                                                                                                                                                                                                                                                                                                                               |
++-------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+
+Description
+-----------
+
+In GDScript, functions are not *first-class objects*. This means it is impossible to store them directly as variables, return them from another function, or pass them as arguments.
+
+However, by creating a :ref:`FuncRef<class_funcref>` using the :ref:`@GDScript.funcref<class_@GDScript_funcref>` function, a reference to a function in a given object can be created, passed around and called.
 
 Member Function Description
 ---------------------------
 
 .. _class_FuncRef_call_func:
 
-- void  **call_func**  **(** var arg0=NULL, var arg1=NULL, var arg2=NULL, var arg3=NULL, var arg4=NULL, var arg5=NULL, var arg6=NULL, var arg7=NULL, var arg8=NULL, var arg9=NULL  **)**
+- void  **call_func**  **(** :ref:`Variant<class_variant>` arg0=NULL, :ref:`Variant<class_variant>` arg1=NULL, :ref:`Variant<class_variant>` arg2=NULL, :ref:`Variant<class_variant>` arg3=NULL, :ref:`Variant<class_variant>` arg4=NULL, :ref:`Variant<class_variant>` arg5=NULL, :ref:`Variant<class_variant>` arg6=NULL, :ref:`Variant<class_variant>` arg7=NULL, :ref:`Variant<class_variant>` arg8=NULL, :ref:`Variant<class_variant>` arg9=NULL  **)**
+
+Call the referenced function with the given arguments. The argument count must correspond to the required number of arguments in the function. Returns the return value of the function call.
 
 .. _class_FuncRef_set_function:
 
 - void  **set_function**  **(** :ref:`String<class_string>` name  **)**
 
+Set the name of the function to call on the object, without parentheses or any parameters.
+
 .. _class_FuncRef_set_instance:
 
 - void  **set_instance**  **(** :ref:`Object<class_object>` instance  **)**
 
+Set the object on which to call the referenced function. This object must be of a type actually inheriting from :ref:`Object<class_object>`, not a built-in type such as :ref:`int<class_int>`, :ref:`Vector2<class_vector2>` or :ref:`Dictionary<class_dictionary>`.
+
 

+ 19 - 8
classes/class_gdfunctionstate.rst

@@ -13,16 +13,21 @@ GDFunctionState
 Brief Description
 -----------------
 
-
+State of a function call after yielding.
 
 Member Functions
 ----------------
 
-+--------------------------+------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`  | :ref:`is_valid<class_GDFunctionState_is_valid>`  **(** **)** const     |
-+--------------------------+------------------------------------------------------------------------+
-| Variant                  | :ref:`resume<class_GDFunctionState_resume>`  **(** var arg=NULL  **)** |
-+--------------------------+------------------------------------------------------------------------+
++--------------------------------+--------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`        | :ref:`is_valid<class_GDFunctionState_is_valid>`  **(** **)** const                               |
++--------------------------------+--------------------------------------------------------------------------------------------------+
+| :ref:`Variant<class_variant>`  | :ref:`resume<class_GDFunctionState_resume>`  **(** :ref:`Variant<class_variant>` arg=NULL  **)** |
++--------------------------------+--------------------------------------------------------------------------------------------------+
+
+Description
+-----------
+
+Calling :ref:`@GDScript.yield<class_@GDScript_yield>` within a function will cause that function to yield and return its current state as an object of this type. The yielded function call can then be resumed later by calling :ref:`resume<class_GDFunctionState_resume>` on this state object.
 
 Member Function Description
 ---------------------------
@@ -31,10 +36,16 @@ Member Function Description
 
 - :ref:`bool<class_bool>`  **is_valid**  **(** **)** const
 
-Should put children to the top left corner instead of center of the container.
+Check whether the function call may be resumed. This is not the case if the function state was already resumed.
 
 .. _class_GDFunctionState_resume:
 
-- Variant  **resume**  **(** var arg=NULL  **)**
+- :ref:`Variant<class_variant>`  **resume**  **(** :ref:`Variant<class_variant>` arg=NULL  **)**
+
+Resume execution of the yielded function call.
+
+If handed an argument, return the argument from the :ref:`@GDScript.yield<class_@GDScript_yield>` call in the yielded function call. You can pass e.g. an :ref:`Array<class_array>` to hand multiple arguments.
+
+This function returns what the resumed function call returns, possibly another function state if yielded again.
 
 

+ 41 - 25
classes/class_geometryinstance.rst

@@ -20,31 +20,35 @@ Base node for geometry based visual instances.
 Member Functions
 ----------------
 
-+------------------------------+-------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`        | :ref:`get_baked_light_texture_id<class_GeometryInstance_get_baked_light_texture_id>`  **(** **)** const                       |
-+------------------------------+-------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`    | :ref:`get_draw_range_begin<class_GeometryInstance_get_draw_range_begin>`  **(** **)** const                                   |
-+------------------------------+-------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`    | :ref:`get_draw_range_end<class_GeometryInstance_get_draw_range_end>`  **(** **)** const                                       |
-+------------------------------+-------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`    | :ref:`get_extra_cull_margin<class_GeometryInstance_get_extra_cull_margin>`  **(** **)** const                                 |
-+------------------------------+-------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`      | :ref:`get_flag<class_GeometryInstance_get_flag>`  **(** :ref:`int<class_int>` flag  **)** const                               |
-+------------------------------+-------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Object<class_object>`  | :ref:`get_material_override<class_GeometryInstance_get_material_override>`  **(** **)** const                                 |
-+------------------------------+-------------------------------------------------------------------------------------------------------------------------------+
-| void                         | :ref:`set_baked_light_texture_id<class_GeometryInstance_set_baked_light_texture_id>`  **(** :ref:`int<class_int>` id  **)**   |
-+------------------------------+-------------------------------------------------------------------------------------------------------------------------------+
-| void                         | :ref:`set_draw_range_begin<class_GeometryInstance_set_draw_range_begin>`  **(** :ref:`float<class_float>` mode  **)**         |
-+------------------------------+-------------------------------------------------------------------------------------------------------------------------------+
-| void                         | :ref:`set_draw_range_end<class_GeometryInstance_set_draw_range_end>`  **(** :ref:`float<class_float>` mode  **)**             |
-+------------------------------+-------------------------------------------------------------------------------------------------------------------------------+
-| void                         | :ref:`set_extra_cull_margin<class_GeometryInstance_set_extra_cull_margin>`  **(** :ref:`float<class_float>` margin  **)**     |
-+------------------------------+-------------------------------------------------------------------------------------------------------------------------------+
-| void                         | :ref:`set_flag<class_GeometryInstance_set_flag>`  **(** :ref:`int<class_int>` flag, :ref:`bool<class_bool>` value  **)**      |
-+------------------------------+-------------------------------------------------------------------------------------------------------------------------------+
-| void                         | :ref:`set_material_override<class_GeometryInstance_set_material_override>`  **(** :ref:`Object<class_object>` material  **)** |
-+------------------------------+-------------------------------------------------------------------------------------------------------------------------------+
++------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`        | :ref:`get_baked_light_texture_id<class_GeometryInstance_get_baked_light_texture_id>`  **(** **)** const                                     |
++------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`        | :ref:`get_cast_shadows_setting<class_GeometryInstance_get_cast_shadows_setting>`  **(** **)** const                                         |
++------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`    | :ref:`get_draw_range_begin<class_GeometryInstance_get_draw_range_begin>`  **(** **)** const                                                 |
++------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`    | :ref:`get_draw_range_end<class_GeometryInstance_get_draw_range_end>`  **(** **)** const                                                     |
++------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`    | :ref:`get_extra_cull_margin<class_GeometryInstance_get_extra_cull_margin>`  **(** **)** const                                               |
++------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`      | :ref:`get_flag<class_GeometryInstance_get_flag>`  **(** :ref:`int<class_int>` flag  **)** const                                             |
++------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Object<class_object>`  | :ref:`get_material_override<class_GeometryInstance_get_material_override>`  **(** **)** const                                               |
++------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
+| void                         | :ref:`set_baked_light_texture_id<class_GeometryInstance_set_baked_light_texture_id>`  **(** :ref:`int<class_int>` id  **)**                 |
++------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
+| void                         | :ref:`set_cast_shadows_setting<class_GeometryInstance_set_cast_shadows_setting>`  **(** :ref:`int<class_int>` shadow_casting_setting  **)** |
++------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
+| void                         | :ref:`set_draw_range_begin<class_GeometryInstance_set_draw_range_begin>`  **(** :ref:`float<class_float>` mode  **)**                       |
++------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
+| void                         | :ref:`set_draw_range_end<class_GeometryInstance_set_draw_range_end>`  **(** :ref:`float<class_float>` mode  **)**                           |
++------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
+| void                         | :ref:`set_extra_cull_margin<class_GeometryInstance_set_extra_cull_margin>`  **(** :ref:`float<class_float>` margin  **)**                   |
++------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
+| void                         | :ref:`set_flag<class_GeometryInstance_set_flag>`  **(** :ref:`int<class_int>` flag, :ref:`bool<class_bool>` value  **)**                    |
++------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
+| void                         | :ref:`set_material_override<class_GeometryInstance_set_material_override>`  **(** :ref:`Object<class_object>` material  **)**               |
++------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
 
 Numeric Constants
 -----------------
@@ -57,6 +61,10 @@ Numeric Constants
 - **FLAG_DEPH_SCALE** = **5**
 - **FLAG_VISIBLE_IN_ALL_ROOMS** = **6**
 - **FLAG_MAX** = **8**
+- **SHADOW_CASTING_SETTING_OFF** = **0**
+- **SHADOW_CASTING_SETTING_ON** = **1**
+- **SHADOW_CASTING_SETTING_DOUBLE_SIDED** = **2**
+- **SHADOW_CASTING_SETTING_SHADOWS_ONLY** = **3**
 
 Description
 -----------
@@ -70,6 +78,10 @@ Member Function Description
 
 - :ref:`int<class_int>`  **get_baked_light_texture_id**  **(** **)** const
 
+.. _class_GeometryInstance_get_cast_shadows_setting:
+
+- :ref:`int<class_int>`  **get_cast_shadows_setting**  **(** **)** const
+
 .. _class_GeometryInstance_get_draw_range_begin:
 
 - :ref:`float<class_float>`  **get_draw_range_begin**  **(** **)** const
@@ -96,6 +108,10 @@ Return the material override for the whole geometry.
 
 - void  **set_baked_light_texture_id**  **(** :ref:`int<class_int>` id  **)**
 
+.. _class_GeometryInstance_set_cast_shadows_setting:
+
+- void  **set_cast_shadows_setting**  **(** :ref:`int<class_int>` shadow_casting_setting  **)**
+
 .. _class_GeometryInstance_set_draw_range_begin:
 
 - void  **set_draw_range_begin**  **(** :ref:`float<class_float>` mode  **)**

+ 60 - 40
classes/class_httpclient.rst

@@ -18,45 +18,49 @@ Hyper-text transfer protocol client.
 Member Functions
 ----------------
 
-+----------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                   | :ref:`close<class_HTTPClient_close>`  **(** **)**                                                                                                                                                        |
-+----------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| Error                                  | :ref:`connect<class_HTTPClient_connect>`  **(** :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:`get_response_body_length<class_HTTPClient_get_response_body_length>`  **(** **)** const                                                                                                            |
-+----------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                  | :ref:`get_response_code<class_HTTPClient_get_response_code>`  **(** **)** const                                                                                                                          |
-+----------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`StringArray<class_stringarray>`  | :ref:`get_response_headers<class_HTTPClient_get_response_headers>`  **(** **)**                                                                                                                          |
-+----------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Dictionary<class_dictionary>`    | :ref:`get_response_headers_as_dictionary<class_HTTPClient_get_response_headers_as_dictionary>`  **(** **)**                                                                                              |
-+----------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                  | :ref:`get_status<class_HTTPClient_get_status>`  **(** **)** const                                                                                                                                        |
-+----------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                | :ref:`has_response<class_HTTPClient_has_response>`  **(** **)** const                                                                                                                                    |
-+----------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                | :ref:`is_blocking_mode_enabled<class_HTTPClient_is_blocking_mode_enabled>`  **(** **)** const                                                                                                            |
-+----------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                | :ref:`is_response_chunked<class_HTTPClient_is_response_chunked>`  **(** **)** const                                                                                                                      |
-+----------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| Error                                  | :ref:`poll<class_HTTPClient_poll>`  **(** **)**                                                                                                                                                          |
-+----------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_string>`            | :ref:`query_string_from_dict<class_HTTPClient_query_string_from_dict>`  **(** :ref:`Dictionary<class_dictionary>` fields  **)**                                                                          |
-+----------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`RawArray<class_rawarray>`        | :ref:`read_response_body_chunk<class_HTTPClient_read_response_body_chunk>`  **(** **)**                                                                                                                  |
-+----------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                  | :ref:`request<class_HTTPClient_request>`  **(** :ref:`int<class_int>` method, :ref:`String<class_string>` url, :ref:`StringArray<class_stringarray>` headers, :ref:`String<class_string>` body=""  **)** |
-+----------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                  | :ref:`send_body_data<class_HTTPClient_send_body_data>`  **(** :ref:`RawArray<class_rawarray>` body  **)**                                                                                                |
-+----------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                  | :ref:`send_body_text<class_HTTPClient_send_body_text>`  **(** :ref:`String<class_string>` body  **)**                                                                                                    |
-+----------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                   | :ref:`set_blocking_mode<class_HTTPClient_set_blocking_mode>`  **(** :ref:`bool<class_bool>` enabled  **)**                                                                                               |
-+----------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                   | :ref:`set_connection<class_HTTPClient_set_connection>`  **(** :ref:`StreamPeer<class_streampeer>` connection  **)**                                                                                      |
-+----------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                   | :ref:`set_read_chunk_size<class_HTTPClient_set_read_chunk_size>`  **(** :ref:`int<class_int>` bytes  **)**                                                                                               |
-+----------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
++----------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                   | :ref:`close<class_HTTPClient_close>`  **(** **)**                                                                                                                                                                 |
++----------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| Error                                  | :ref:`connect<class_HTTPClient_connect>`  **(** :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:`StreamPeer<class_streampeer>`    | :ref:`get_connection<class_HTTPClient_get_connection>`  **(** **)** const                                                                                                                                         |
++----------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                  | :ref:`get_response_body_length<class_HTTPClient_get_response_body_length>`  **(** **)** const                                                                                                                     |
++----------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                  | :ref:`get_response_code<class_HTTPClient_get_response_code>`  **(** **)** const                                                                                                                                   |
++----------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`StringArray<class_stringarray>`  | :ref:`get_response_headers<class_HTTPClient_get_response_headers>`  **(** **)**                                                                                                                                   |
++----------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Dictionary<class_dictionary>`    | :ref:`get_response_headers_as_dictionary<class_HTTPClient_get_response_headers_as_dictionary>`  **(** **)**                                                                                                       |
++----------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                  | :ref:`get_status<class_HTTPClient_get_status>`  **(** **)** const                                                                                                                                                 |
++----------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                | :ref:`has_response<class_HTTPClient_has_response>`  **(** **)** const                                                                                                                                             |
++----------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                | :ref:`is_blocking_mode_enabled<class_HTTPClient_is_blocking_mode_enabled>`  **(** **)** const                                                                                                                     |
++----------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                | :ref:`is_response_chunked<class_HTTPClient_is_response_chunked>`  **(** **)** const                                                                                                                               |
++----------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| Error                                  | :ref:`poll<class_HTTPClient_poll>`  **(** **)**                                                                                                                                                                   |
++----------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_string>`            | :ref:`query_string_from_dict<class_HTTPClient_query_string_from_dict>`  **(** :ref:`Dictionary<class_dictionary>` fields  **)**                                                                                   |
++----------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`RawArray<class_rawarray>`        | :ref:`read_response_body_chunk<class_HTTPClient_read_response_body_chunk>`  **(** **)**                                                                                                                           |
++----------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                  | :ref:`request<class_HTTPClient_request>`  **(** :ref:`int<class_int>` method, :ref:`String<class_string>` url, :ref:`StringArray<class_stringarray>` headers, :ref:`String<class_string>` body=""  **)**          |
++----------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                  | :ref:`request_raw<class_HTTPClient_request_raw>`  **(** :ref:`int<class_int>` method, :ref:`String<class_string>` url, :ref:`StringArray<class_stringarray>` headers, :ref:`RawArray<class_rawarray>` body  **)** |
++----------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                  | :ref:`send_body_data<class_HTTPClient_send_body_data>`  **(** :ref:`RawArray<class_rawarray>` body  **)**                                                                                                         |
++----------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                  | :ref:`send_body_text<class_HTTPClient_send_body_text>`  **(** :ref:`String<class_string>` body  **)**                                                                                                             |
++----------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                   | :ref:`set_blocking_mode<class_HTTPClient_set_blocking_mode>`  **(** :ref:`bool<class_bool>` enabled  **)**                                                                                                        |
++----------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                   | :ref:`set_connection<class_HTTPClient_set_connection>`  **(** :ref:`StreamPeer<class_streampeer>` connection  **)**                                                                                               |
++----------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                   | :ref:`set_read_chunk_size<class_HTTPClient_set_read_chunk_size>`  **(** :ref:`int<class_int>` bytes  **)**                                                                                                        |
++----------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 
 Numeric Constants
 -----------------
@@ -133,7 +137,7 @@ Numeric Constants
 Description
 -----------
 
-Hyper-text transfer protocol client. Supports SSL and SSL server certificate verification. 
+Hyper-text transfer protocol client. Supports SSL and SSL server certificate verification.
 
 Can be reused to connect to different hosts and make many requests.
 
@@ -156,6 +160,12 @@ The host should not have http:// prepended but will strip the protocol identifie
 
 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.
+
 .. _class_HTTPClient_get_response_body_length:
 
 - :ref:`int<class_int>`  **get_response_body_length**  **(** **)** const
@@ -249,6 +259,16 @@ To create a POST request with query strings to push to the server, do:
     var headers = :ref:`"Content-Type: application/x-www-form-urlencoded", "Content-Length: " + str(queryString.length())<class_"content-type: application/x-www-form-urlencoded", "content-length: " + str(querystring.length())>`
     var result = httpClient.request(httpClient.METHOD_POST, "index.php", headers, queryString)
 
+.. _class_HTTPClient_request_raw:
+
+- :ref:`int<class_int>`  **request_raw**  **(** :ref:`int<class_int>` method, :ref:`String<class_string>` url, :ref:`StringArray<class_stringarray>` headers, :ref:`RawArray<class_rawarray>` 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".
+
+Headers are HTTP request headers.
+
+Sends body raw, as a byte array, does not encode it in any way.
+
 .. _class_HTTPClient_send_body_data:
 
 - :ref:`int<class_int>`  **send_body_data**  **(** :ref:`RawArray<class_rawarray>` body  **)**

+ 162 - 0
classes/class_httprequest.rst

@@ -0,0 +1,162 @@
+.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. DO NOT EDIT THIS FILE, but the doc/base/classes.xml source instead.
+
+.. _class_HTTPRequest:
+
+HTTPRequest
+===========
+
+**Inherits:** :ref:`Node<class_node>` **<** :ref:`Object<class_object>`
+
+**Category:** Core
+
+Brief Description
+-----------------
+
+A Node with the ability to send HTTP requests.
+
+Member Functions
+----------------
+
++------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                         | :ref:`cancel_request<class_HTTPRequest_cancel_request>`  **(** **)**                                                                                                                                            |
++------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`        | :ref:`get_body_size<class_HTTPRequest_get_body_size>`  **(** **)** const                                                                                                                                        |
++------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`        | :ref:`get_body_size_limit<class_HTTPRequest_get_body_size_limit>`  **(** **)** const                                                                                                                            |
++------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_string>`  | :ref:`get_download_file<class_HTTPRequest_get_download_file>`  **(** **)** const                                                                                                                                |
++------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`        | :ref:`get_downloaded_bytes<class_HTTPRequest_get_downloaded_bytes>`  **(** **)** const                                                                                                                          |
++------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`        | :ref:`get_http_client_status<class_HTTPRequest_get_http_client_status>`  **(** **)** const                                                                                                                      |
++------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`        | :ref:`get_max_redirects<class_HTTPRequest_get_max_redirects>`  **(** **)** const                                                                                                                                |
++------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`      | :ref:`is_using_threads<class_HTTPRequest_is_using_threads>`  **(** **)** const                                                                                                                                  |
++------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`        | :ref:`request<class_HTTPRequest_request>`  **(** :ref:`String<class_string>` url, :ref:`StringArray<class_stringarray>` custom_headers=StringArray([]), :ref:`bool<class_bool>` ssl_validate_domain=true  **)** |
++------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                         | :ref:`set_body_size_limit<class_HTTPRequest_set_body_size_limit>`  **(** :ref:`int<class_int>` bytes  **)**                                                                                                     |
++------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                         | :ref:`set_download_file<class_HTTPRequest_set_download_file>`  **(** :ref:`String<class_string>` path  **)**                                                                                                    |
++------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                         | :ref:`set_max_redirects<class_HTTPRequest_set_max_redirects>`  **(** :ref:`int<class_int>` amount  **)**                                                                                                        |
++------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                         | :ref:`set_use_threads<class_HTTPRequest_set_use_threads>`  **(** :ref:`bool<class_bool>` enable  **)**                                                                                                          |
++------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+
+Signals
+-------
+
+-  **request_completed**  **(** :ref:`int<class_int>` result, :ref:`int<class_int>` response_code, :ref:`StringArray<class_stringarray>` headers, :ref:`RawArray<class_rawarray>` body  **)**
+
+Numeric Constants
+-----------------
+
+- **RESULT_SUCCESS** = **0** --- Request successful.
+- **RESULT_CHUNKED_BODY_SIZE_MISMATCH** = **1**
+- **RESULT_CANT_CONNECT** = **2** --- Request failed while connecting.
+- **RESULT_CANT_RESOLVE** = **3** --- Request failed while resolving.
+- **RESULT_CONNECTION_ERROR** = **4** --- Request failed due to connection(read/write) error.
+- **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 exceded it's maximum size limit, see :ref:`set_body_size_limit<class_HTTPRequest_set_body_size_limit>`.
+- **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 it's maximum redirect limit, see :ref:`set_max_redirects<class_HTTPRequest_set_max_redirects>`.
+
+Description
+-----------
+
+A Node with the ability to send HTTP requests. Uses a :ref:`HTTPClient<class_httpclient>` internally, supports HTTPS.
+
+Can be used to make HTTP requests or download files via HTTP.
+
+Member Function Description
+---------------------------
+
+.. _class_HTTPRequest_cancel_request:
+
+- void  **cancel_request**  **(** **)**
+
+Cancel the current request.
+
+.. _class_HTTPRequest_get_body_size:
+
+- :ref:`int<class_int>`  **get_body_size**  **(** **)** const
+
+Return the response body length.
+
+.. _class_HTTPRequest_get_body_size_limit:
+
+- :ref:`int<class_int>`  **get_body_size_limit**  **(** **)** const
+
+Return current body size limit.
+
+.. _class_HTTPRequest_get_download_file:
+
+- :ref:`String<class_string>`  **get_download_file**  **(** **)** const
+
+Return 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.
+
+.. _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>`.
+
+.. _class_HTTPRequest_get_max_redirects:
+
+- :ref:`int<class_int>`  **get_max_redirects**  **(** **)** const
+
+Return the maximum amount of redirects that will be followed.
+
+.. _class_HTTPRequest_is_using_threads:
+
+- :ref:`bool<class_bool>`  **is_using_threads**  **(** **)** const
+
+Whether this request is using threads.
+
+.. _class_HTTPRequest_request:
+
+- :ref:`int<class_int>`  **request**  **(** :ref:`String<class_string>` url, :ref:`StringArray<class_stringarray>` custom_headers=StringArray([]), :ref:`bool<class_bool>` ssl_validate_domain=true  **)**
+
+Make a HTTP GET request. The url is the complete url including "http://" or "https://" which will be parsed for a host and a port.
+
+The custom_headers are HTTP request headers which will be used. If User-Agent is not specified a Godot specific will be used.
+
+The ssl_validate_domain specifies if in case of HTTPS the server certificate should be verified.
+
+.. _class_HTTPRequest_set_body_size_limit:
+
+- void  **set_body_size_limit**  **(** :ref:`int<class_int>` bytes  **)**
+
+Set the response body size limit.
+
+.. _class_HTTPRequest_set_download_file:
+
+- void  **set_download_file**  **(** :ref:`String<class_string>` path  **)**
+
+Set the file to download into. Outputs the response body into the file.
+
+.. _class_HTTPRequest_set_max_redirects:
+
+- void  **set_max_redirects**  **(** :ref:`int<class_int>` amount  **)**
+
+Set the maximum amount of redirects the request will follow.
+
+.. _class_HTTPRequest_set_use_threads:
+
+- void  **set_use_threads**  **(** :ref:`bool<class_bool>` enable  **)**
+
+Make this HTTPRequest use threads.
+
+

+ 25 - 3
classes/class_immediategeometry.rst

@@ -13,7 +13,7 @@ ImmediateGeometry
 Brief Description
 -----------------
 
-
+Node to draw simple geometry from code, ala OpenGL 1.x
 
 Member Functions
 ----------------
@@ -23,7 +23,7 @@ Member Functions
 +-------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void  | :ref:`add_vertex<class_ImmediateGeometry_add_vertex>`  **(** :ref:`Vector3<class_vector3>` pos  **)**                                                        |
 +-------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void  | :ref:`begin<class_ImmediateGeometry_begin>`  **(** :ref:`int<class_int>` primitive, :ref:`Texture<class_texture>` texture  **)**                             |
+| void  | :ref:`begin<class_ImmediateGeometry_begin>`  **(** :ref:`int<class_int>` primitive, :ref:`Texture<class_texture>` texture=Object()  **)**                    |
 +-------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void  | :ref:`clear<class_ImmediateGeometry_clear>`  **(** **)**                                                                                                     |
 +-------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
@@ -47,40 +47,62 @@ Member Function Description
 
 - void  **add_sphere**  **(** :ref:`int<class_int>` lats, :ref:`int<class_int>` lons, :ref:`float<class_float>` radius  **)**
 
+Simple helper to draw an uvsphere, with given latitudes, longitude and radius.
+
 .. _class_ImmediateGeometry_add_vertex:
 
 - void  **add_vertex**  **(** :ref:`Vector3<class_vector3>` pos  **)**
 
+Add a vertex with the currently set color/uv/etc.
+
 .. _class_ImmediateGeometry_begin:
 
-- void  **begin**  **(** :ref:`int<class_int>` primitive, :ref:`Texture<class_texture>` texture  **)**
+- void  **begin**  **(** :ref:`int<class_int>` primitive, :ref:`Texture<class_texture>` texture=Object()  **)**
+
+Begin drawing (And optionally pass a texture override). When done call end(). For more information on how this works, search for glBegin() glEnd() references.
+
+For the type of primitive, use the :ref:`Mesh<class_mesh>`.PRIMITIVE\_\* enumerations.
 
 .. _class_ImmediateGeometry_clear:
 
 - void  **clear**  **(** **)**
 
+Clear everything that was drawn using begin/end.
+
 .. _class_ImmediateGeometry_end:
 
 - void  **end**  **(** **)**
 
+Call this when done adding a batch of geometry, otherwise it can't be displayed.
+
 .. _class_ImmediateGeometry_set_color:
 
 - void  **set_color**  **(** :ref:`Color<class_color>` color  **)**
 
+Set the color that the next vertex will use to be drawn.
+
 .. _class_ImmediateGeometry_set_normal:
 
 - void  **set_normal**  **(** :ref:`Vector3<class_vector3>` normal  **)**
 
+Set the normal that the next vertex will use to be drawn.
+
 .. _class_ImmediateGeometry_set_tangent:
 
 - void  **set_tangent**  **(** :ref:`Plane<class_plane>` tangent  **)**
 
+Set the tangent (and binormal facing) that the next vertex will use to be drawn.
+
 .. _class_ImmediateGeometry_set_uv:
 
 - void  **set_uv**  **(** :ref:`Vector2<class_vector2>` uv  **)**
 
+Set the UV that the next vertex will use to be drawn.
+
 .. _class_ImmediateGeometry_set_uv2:
 
 - void  **set_uv2**  **(** :ref:`Vector2<class_vector2>` uv  **)**
 
+Set the second layer of UV that the next vertex will use to be drawn.
+
 

+ 97 - 41
classes/class_input.rst

@@ -20,45 +20,59 @@ A Singleton that deals with inputs.
 Member Functions
 ----------------
 
-+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                           | :ref:`action_press<class_Input_action_press>`  **(** :ref:`String<class_string>` action  **)**                                                                            |
-+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                           | :ref:`action_release<class_Input_action_release>`  **(** :ref:`String<class_string>` action  **)**                                                                        |
-+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                           | :ref:`add_joy_mapping<class_Input_add_joy_mapping>`  **(** :ref:`String<class_string>` mapping, :ref:`bool<class_bool>` update_existing=false  **)**                      |
-+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Vector3<class_vector3>`  | :ref:`get_accelerometer<class_Input_get_accelerometer>`  **(** **)**                                                                                                      |
-+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`      | :ref:`get_joy_axis<class_Input_get_joy_axis>`  **(** :ref:`int<class_int>` device, :ref:`int<class_int>` axis  **)**                                                      |
-+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_string>`    | :ref:`get_joy_guid<class_Input_get_joy_guid>`  **(** :ref:`int<class_int>` device  **)** const                                                                            |
-+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_string>`    | :ref:`get_joy_name<class_Input_get_joy_name>`  **(** :ref:`int<class_int>` device  **)**                                                                                  |
-+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`          | :ref:`get_mouse_button_mask<class_Input_get_mouse_button_mask>`  **(** **)** const                                                                                        |
-+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`          | :ref:`get_mouse_mode<class_Input_get_mouse_mode>`  **(** **)** const                                                                                                      |
-+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Vector2<class_vector2>`  | :ref:`get_mouse_speed<class_Input_get_mouse_speed>`  **(** **)** const                                                                                                    |
-+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`        | :ref:`is_action_pressed<class_Input_is_action_pressed>`  **(** :ref:`String<class_string>` action  **)**                                                                  |
-+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`        | :ref:`is_joy_button_pressed<class_Input_is_joy_button_pressed>`  **(** :ref:`int<class_int>` device, :ref:`int<class_int>` button  **)**                                  |
-+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`        | :ref:`is_joy_known<class_Input_is_joy_known>`  **(** :ref:`int<class_int>` device  **)**                                                                                  |
-+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`        | :ref:`is_key_pressed<class_Input_is_key_pressed>`  **(** :ref:`int<class_int>` scancode  **)**                                                                            |
-+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`        | :ref:`is_mouse_button_pressed<class_Input_is_mouse_button_pressed>`  **(** :ref:`int<class_int>` button  **)**                                                            |
-+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| 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:`Texture<class_texture>` image, :ref:`Vector2<class_vector2>` hotspot=Vector2(0,0)  **)** |
-+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                           | :ref:`set_mouse_mode<class_Input_set_mouse_mode>`  **(** :ref:`int<class_int>` mode  **)**                                                                                |
-+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                           | :ref:`warp_mouse_pos<class_Input_warp_mouse_pos>`  **(** :ref:`Vector2<class_vector2>` to  **)**                                                                          |
-+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
++--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                           | :ref:`action_press<class_Input_action_press>`  **(** :ref:`String<class_string>` action  **)**                                                                                                                                     |
++--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                           | :ref:`action_release<class_Input_action_release>`  **(** :ref:`String<class_string>` action  **)**                                                                                                                                 |
++--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                           | :ref:`add_joy_mapping<class_Input_add_joy_mapping>`  **(** :ref:`String<class_string>` mapping, :ref:`bool<class_bool>` update_existing=false  **)**                                                                               |
++--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Vector3<class_vector3>`  | :ref:`get_accelerometer<class_Input_get_accelerometer>`  **(** **)**                                                                                                                                                               |
++--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Array<class_array>`      | :ref:`get_connected_joysticks<class_Input_get_connected_joysticks>`  **(** **)**                                                                                                                                                   |
++--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Vector3<class_vector3>`  | :ref:`get_gyroscope<class_Input_get_gyroscope>`  **(** **)**                                                                                                                                                                       |
++--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`      | :ref:`get_joy_axis<class_Input_get_joy_axis>`  **(** :ref:`int<class_int>` device, :ref:`int<class_int>` axis  **)**                                                                                                               |
++--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_string>`    | :ref:`get_joy_guid<class_Input_get_joy_guid>`  **(** :ref:`int<class_int>` device  **)** const                                                                                                                                     |
++--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_string>`    | :ref:`get_joy_name<class_Input_get_joy_name>`  **(** :ref:`int<class_int>` device  **)**                                                                                                                                           |
++--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`      | :ref:`get_joy_vibration_duration<class_Input_get_joy_vibration_duration>`  **(** :ref:`int<class_int>` device  **)**                                                                                                               |
++--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Vector2<class_vector2>`  | :ref:`get_joy_vibration_strength<class_Input_get_joy_vibration_strength>`  **(** :ref:`int<class_int>` device  **)**                                                                                                               |
++--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Vector3<class_vector3>`  | :ref:`get_magnetometer<class_Input_get_magnetometer>`  **(** **)**                                                                                                                                                                 |
++--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`          | :ref:`get_mouse_button_mask<class_Input_get_mouse_button_mask>`  **(** **)** const                                                                                                                                                 |
++--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`          | :ref:`get_mouse_mode<class_Input_get_mouse_mode>`  **(** **)** const                                                                                                                                                               |
++--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Vector2<class_vector2>`  | :ref:`get_mouse_speed<class_Input_get_mouse_speed>`  **(** **)** const                                                                                                                                                             |
++--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`        | :ref:`is_action_pressed<class_Input_is_action_pressed>`  **(** :ref:`String<class_string>` action  **)**                                                                                                                           |
++--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`        | :ref:`is_joy_button_pressed<class_Input_is_joy_button_pressed>`  **(** :ref:`int<class_int>` device, :ref:`int<class_int>` button  **)**                                                                                           |
++--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`        | :ref:`is_joy_known<class_Input_is_joy_known>`  **(** :ref:`int<class_int>` device  **)**                                                                                                                                           |
++--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`        | :ref:`is_key_pressed<class_Input_is_key_pressed>`  **(** :ref:`int<class_int>` scancode  **)**                                                                                                                                     |
++--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`        | :ref:`is_mouse_button_pressed<class_Input_is_mouse_button_pressed>`  **(** :ref:`int<class_int>` button  **)**                                                                                                                     |
++--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| 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:`Texture<class_texture>` image, :ref:`Vector2<class_vector2>` hotspot=Vector2((0, 0))  **)**                                                       |
++--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                           | :ref:`set_mouse_mode<class_Input_set_mouse_mode>`  **(** :ref:`int<class_int>` mode  **)**                                                                                                                                         |
++--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                           | :ref:`start_joy_vibration<class_Input_start_joy_vibration>`  **(** :ref:`int<class_int>` device, :ref:`float<class_float>` weak_magnitude, :ref:`float<class_float>` strong_magnitude, :ref:`float<class_float>` duration=0  **)** |
++--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                           | :ref:`stop_joy_vibration<class_Input_stop_joy_vibration>`  **(** :ref:`int<class_int>` device  **)**                                                                                                                               |
++--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                           | :ref:`warp_mouse_pos<class_Input_warp_mouse_pos>`  **(** :ref:`Vector2<class_vector2>` to  **)**                                                                                                                                   |
++--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 
 Signals
 -------
@@ -104,6 +118,18 @@ Add a new mapping entry (in SDL2 format) to the mapping database. Optionally upd
 
 If the device has an accelerometer, this will return the movement.
 
+.. _class_Input_get_connected_joysticks:
+
+- :ref:`Array<class_array>`  **get_connected_joysticks**  **(** **)**
+
+Returns an :ref:`Array<class_array>` containing the device IDs of all currently connected joysticks.
+
+.. _class_Input_get_gyroscope:
+
+- :ref:`Vector3<class_vector3>`  **get_gyroscope**  **(** **)**
+
+If the device has a gyroscope, this will return the rate of rotation in rad/s around a device's x, y, and z axis.
+
 .. _class_Input_get_joy_axis:
 
 - :ref:`float<class_float>`  **get_joy_axis**  **(** :ref:`int<class_int>` device, :ref:`int<class_int>` axis  **)**
@@ -122,6 +148,24 @@ Returns a SDL2 compatible device guid on platforms that use gamepad remapping. R
 
 Returns the name of the joystick at the specified device index
 
+.. _class_Input_get_joy_vibration_duration:
+
+- :ref:`float<class_float>`  **get_joy_vibration_duration**  **(** :ref:`int<class_int>` device  **)**
+
+Returns the duration of the current vibration effect in seconds.
+
+.. _class_Input_get_joy_vibration_strength:
+
+- :ref:`Vector2<class_vector2>`  **get_joy_vibration_strength**  **(** :ref:`int<class_int>` device  **)**
+
+Returns the strength of the joystick vibration: x is the strength of the weak motor, and y is the strength of the strong motor.
+
+.. _class_Input_get_magnetometer:
+
+- :ref:`Vector3<class_vector3>`  **get_magnetometer**  **(** **)**
+
+If the device has a magnetometer, this will return the magnetic field strength in micro-Tesla for all axes.
+
 .. _class_Input_get_mouse_button_mask:
 
 - :ref:`int<class_int>`  **get_mouse_button_mask**  **(** **)** const
@@ -138,7 +182,7 @@ Return the mouse mode. See the constants for more information.
 
 - :ref:`Vector2<class_vector2>`  **get_mouse_speed**  **(** **)** const
 
-Returns the mouse speed.
+Returns the mouse speed for the last time the cursor was moved, and this until the next frame where the mouse moves. This means that even if the mouse is not moving, this function will still return the value of the last motion.
 
 .. _class_Input_is_action_pressed:
 
@@ -178,7 +222,7 @@ Removes all mappings from the internal db that match the given uid.
 
 .. _class_Input_set_custom_mouse_cursor:
 
-- void  **set_custom_mouse_cursor**  **(** :ref:`Texture<class_texture>` image, :ref:`Vector2<class_vector2>` hotspot=Vector2(0,0)  **)**
+- void  **set_custom_mouse_cursor**  **(** :ref:`Texture<class_texture>` image, :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.
 
@@ -188,6 +232,18 @@ Set a custom mouse cursor image, which is only visible inside the game window. T
 
 Set the mouse mode. See the constants for more information.
 
+.. _class_Input_start_joy_vibration:
+
+- void  **start_joy_vibration**  **(** :ref:`int<class_int>` device, :ref:`float<class_float>` weak_magnitude, :ref:`float<class_float>` strong_magnitude, :ref:`float<class_float>` duration=0  **)**
+
+Starts to vibrate the joystick. Joysticks usually come with two rumble motors, a strong and a weak one. weak_magnitude is the strength of the weak motor (between 0 and 1) and strong_magnitude is the strength of the strong motor (between 0 and 1). duration is the duration of the effect in seconds (a duration of 0 will play the vibration indefinitely).
+
+.. _class_Input_stop_joy_vibration:
+
+- void  **stop_joy_vibration**  **(** :ref:`int<class_int>` device  **)**
+
+Stops the vibration of the joystick.
+
 .. _class_Input_warp_mouse_pos:
 
 - void  **warp_mouse_pos**  **(** :ref:`Vector2<class_vector2>` to  **)**

+ 12 - 1
classes/class_instanceplaceholder.rst

@@ -13,7 +13,7 @@ InstancePlaceholder
 Brief Description
 -----------------
 
-
+Placeholder for the root :ref:`Node<class_node>` of a :ref:`PackedScene<class_packedscene>`.
 
 Member Functions
 ----------------
@@ -24,6 +24,13 @@ Member Functions
 | void                         | :ref:`replace_by_instance<class_InstancePlaceholder_replace_by_instance>`  **(** :ref:`PackedScene<class_packedscene>` custom_scene=NULL  **)** |
 +------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------+
 
+Description
+-----------
+
+Turning on the option **Load As Placeholder** for an instanced scene in the editor causes it to be replaced by an InstacePlaceholder when running the game. This makes it possible to delay actually loading the scene until calling :ref:`replace_by_instance<class_InstancePlaceholder_replace_by_instance>`. This is useful to avoid loading large scenes all at once by loading parts of it selectively.
+
+The InstancePlaceholder does not have a transform. This causes any child nodes to be positioned relatively to the Viewport from point (0,0), rather than their parent as displayed in the editor. Replacing the placeholder with a scene with a transform will transform children relatively to their parent again.
+
 Member Function Description
 ---------------------------
 
@@ -31,8 +38,12 @@ Member Function Description
 
 - :ref:`String<class_string>`  **get_instance_path**  **(** **)** const
 
+Retrieve the path to the :ref:`PackedScene<class_packedscene>` resource file that is loaded by default when calling :ref:`replace_by_instance<class_InstancePlaceholder_replace_by_instance>`.
+
 .. _class_InstancePlaceholder_replace_by_instance:
 
 - void  **replace_by_instance**  **(** :ref:`PackedScene<class_packedscene>` custom_scene=NULL  **)**
 
+Replace this placeholder by the scene handed as an argument, or the original scene if no argument is given. As for all resources, the scene is loaded only if it's not loaded already. By manually loading the scene beforehand, delays caused by this function can be avoided.
+
 

+ 51 - 11
classes/class_intarray.rst

@@ -16,17 +16,27 @@ Integer Array.
 Member Functions
 ----------------
 
-+----------------------------------+-------------------------------------------------------------------------------------------------------+
-| :ref:`IntArray<class_intarray>`  | :ref:`IntArray<class_IntArray_IntArray>`  **(** :ref:`Array<class_array>` from  **)**                 |
-+----------------------------------+-------------------------------------------------------------------------------------------------------+
-| void                             | :ref:`push_back<class_IntArray_push_back>`  **(** :ref:`int<class_int>` integer  **)**                |
-+----------------------------------+-------------------------------------------------------------------------------------------------------+
-| void                             | :ref:`resize<class_IntArray_resize>`  **(** :ref:`int<class_int>` idx  **)**                          |
-+----------------------------------+-------------------------------------------------------------------------------------------------------+
-| void                             | :ref:`set<class_IntArray_set>`  **(** :ref:`int<class_int>` idx, :ref:`int<class_int>` integer  **)** |
-+----------------------------------+-------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`            | :ref:`size<class_IntArray_size>`  **(** **)**                                                         |
-+----------------------------------+-------------------------------------------------------------------------------------------------------+
++----------------------------------+-------------------------------------------------------------------------------------------------------------+
+| :ref:`IntArray<class_intarray>`  | :ref:`IntArray<class_IntArray_IntArray>`  **(** :ref:`Array<class_array>` from  **)**                       |
++----------------------------------+-------------------------------------------------------------------------------------------------------------+
+| void                             | :ref:`append<class_IntArray_append>`  **(** :ref:`int<class_int>` integer  **)**                            |
++----------------------------------+-------------------------------------------------------------------------------------------------------------+
+| void                             | :ref:`append_array<class_IntArray_append_array>`  **(** :ref:`IntArray<class_intarray>` array  **)**        |
++----------------------------------+-------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`            | :ref:`insert<class_IntArray_insert>`  **(** :ref:`int<class_int>` idx, :ref:`int<class_int>` integer  **)** |
++----------------------------------+-------------------------------------------------------------------------------------------------------------+
+| void                             | :ref:`invert<class_IntArray_invert>`  **(** **)**                                                           |
++----------------------------------+-------------------------------------------------------------------------------------------------------------+
+| void                             | :ref:`push_back<class_IntArray_push_back>`  **(** :ref:`int<class_int>` integer  **)**                      |
++----------------------------------+-------------------------------------------------------------------------------------------------------------+
+| void                             | :ref:`remove<class_IntArray_remove>`  **(** :ref:`int<class_int>` idx  **)**                                |
++----------------------------------+-------------------------------------------------------------------------------------------------------------+
+| void                             | :ref:`resize<class_IntArray_resize>`  **(** :ref:`int<class_int>` idx  **)**                                |
++----------------------------------+-------------------------------------------------------------------------------------------------------------+
+| void                             | :ref:`set<class_IntArray_set>`  **(** :ref:`int<class_int>` idx, :ref:`int<class_int>` integer  **)**       |
++----------------------------------+-------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`            | :ref:`size<class_IntArray_size>`  **(** **)**                                                               |
++----------------------------------+-------------------------------------------------------------------------------------------------------------+
 
 Description
 -----------
@@ -42,12 +52,42 @@ Member Function Description
 
 Create from a generic array.
 
+.. _class_IntArray_append:
+
+- void  **append**  **(** :ref:`int<class_int>` integer  **)**
+
+Append an element at the end of the array (alias of :ref:`push_back<class_IntArray_push_back>`).
+
+.. _class_IntArray_append_array:
+
+- void  **append_array**  **(** :ref:`IntArray<class_intarray>` array  **)**
+
+Append an :ref:`IntArray<class_intarray>` at the end of this array.
+
+.. _class_IntArray_insert:
+
+- :ref:`int<class_int>`  **insert**  **(** :ref:`int<class_int>` idx, :ref:`int<class_int>` integer  **)**
+
+Insert a new int at a given position in the array. The position must be valid, or at the end of the array (pos==size()).
+
+.. _class_IntArray_invert:
+
+- void  **invert**  **(** **)**
+
+Reverse the order of the elements in the array (so first element will now be the last).
+
 .. _class_IntArray_push_back:
 
 - void  **push_back**  **(** :ref:`int<class_int>` integer  **)**
 
 Append a value to the array.
 
+.. _class_IntArray_remove:
+
+- void  **remove**  **(** :ref:`int<class_int>` idx  **)**
+
+Remove an element from the array by index.
+
 .. _class_IntArray_resize:
 
 - void  **resize**  **(** :ref:`int<class_int>` idx  **)**

+ 86 - 0
classes/class_inversekinematics.rst

@@ -0,0 +1,86 @@
+.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. DO NOT EDIT THIS FILE, but the doc/base/classes.xml source instead.
+
+.. _class_InverseKinematics:
+
+InverseKinematics
+=================
+
+**Inherits:** :ref:`Spatial<class_spatial>` **<** :ref:`Node<class_node>` **<** :ref:`Object<class_object>`
+
+**Category:** Core
+
+Brief Description
+-----------------
+
+
+
+Member Functions
+----------------
+
++------------------------------+---------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_string>`  | :ref:`get_bone_name<class_InverseKinematics_get_bone_name>`  **(** **)** const                                |
++------------------------------+---------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`        | :ref:`get_chain_size<class_InverseKinematics_get_chain_size>`  **(** **)** const                              |
++------------------------------+---------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`        | :ref:`get_iterations<class_InverseKinematics_get_iterations>`  **(** **)** const                              |
++------------------------------+---------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`    | :ref:`get_precision<class_InverseKinematics_get_precision>`  **(** **)** const                                |
++------------------------------+---------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`    | :ref:`get_speed<class_InverseKinematics_get_speed>`  **(** **)** const                                        |
++------------------------------+---------------------------------------------------------------------------------------------------------------+
+| void                         | :ref:`set_bone_name<class_InverseKinematics_set_bone_name>`  **(** :ref:`String<class_string>` ik_bone  **)** |
++------------------------------+---------------------------------------------------------------------------------------------------------------+
+| void                         | :ref:`set_chain_size<class_InverseKinematics_set_chain_size>`  **(** :ref:`int<class_int>` chain_size  **)**  |
++------------------------------+---------------------------------------------------------------------------------------------------------------+
+| void                         | :ref:`set_iterations<class_InverseKinematics_set_iterations>`  **(** :ref:`int<class_int>` iterations  **)**  |
++------------------------------+---------------------------------------------------------------------------------------------------------------+
+| void                         | :ref:`set_precision<class_InverseKinematics_set_precision>`  **(** :ref:`float<class_float>` precision  **)** |
++------------------------------+---------------------------------------------------------------------------------------------------------------+
+| void                         | :ref:`set_speed<class_InverseKinematics_set_speed>`  **(** :ref:`float<class_float>` speed  **)**             |
++------------------------------+---------------------------------------------------------------------------------------------------------------+
+
+Member Function Description
+---------------------------
+
+.. _class_InverseKinematics_get_bone_name:
+
+- :ref:`String<class_string>`  **get_bone_name**  **(** **)** const
+
+.. _class_InverseKinematics_get_chain_size:
+
+- :ref:`int<class_int>`  **get_chain_size**  **(** **)** const
+
+.. _class_InverseKinematics_get_iterations:
+
+- :ref:`int<class_int>`  **get_iterations**  **(** **)** const
+
+.. _class_InverseKinematics_get_precision:
+
+- :ref:`float<class_float>`  **get_precision**  **(** **)** const
+
+.. _class_InverseKinematics_get_speed:
+
+- :ref:`float<class_float>`  **get_speed**  **(** **)** const
+
+.. _class_InverseKinematics_set_bone_name:
+
+- void  **set_bone_name**  **(** :ref:`String<class_string>` ik_bone  **)**
+
+.. _class_InverseKinematics_set_chain_size:
+
+- void  **set_chain_size**  **(** :ref:`int<class_int>` chain_size  **)**
+
+.. _class_InverseKinematics_set_iterations:
+
+- void  **set_iterations**  **(** :ref:`int<class_int>` iterations  **)**
+
+.. _class_InverseKinematics_set_precision:
+
+- void  **set_precision**  **(** :ref:`float<class_float>` precision  **)**
+
+.. _class_InverseKinematics_set_speed:
+
+- void  **set_speed**  **(** :ref:`float<class_float>` speed  **)**
+
+

+ 143 - 80
classes/class_itemlist.rst

@@ -18,84 +18,105 @@ Brief Description
 Member Functions
 ----------------
 
-+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                           | :ref:`add_icon_item<class_ItemList_add_icon_item>`  **(** :ref:`Texture<class_texture>` icon, :ref:`bool<class_bool>` selectable=true  **)**                              |
-+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                           | :ref:`add_item<class_ItemList_add_item>`  **(** :ref:`String<class_string>` text, :ref:`Texture<class_texture>` icon=NULL, :ref:`bool<class_bool>` selectable=true  **)** |
-+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                           | :ref:`clear<class_ItemList_clear>`  **(** **)**                                                                                                                           |
-+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                           | :ref:`ensure_current_is_visible<class_ItemList_ensure_current_is_visible>`  **(** **)**                                                                                   |
-+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`          | :ref:`get_fixed_column_width<class_ItemList_get_fixed_column_width>`  **(** **)** const                                                                                   |
-+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`          | :ref:`get_icon_mode<class_ItemList_get_icon_mode>`  **(** **)** const                                                                                                     |
-+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`          | :ref:`get_item_count<class_ItemList_get_item_count>`  **(** **)** const                                                                                                   |
-+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Color<class_color>`      | :ref:`get_item_custom_bg_color<class_ItemList_get_item_custom_bg_color>`  **(** :ref:`int<class_int>` idx  **)** const                                                    |
-+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Texture<class_texture>`  | :ref:`get_item_icon<class_ItemList_get_item_icon>`  **(** :ref:`int<class_int>` idx  **)** const                                                                          |
-+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                           | :ref:`get_item_metadata<class_ItemList_get_item_metadata>`  **(** :ref:`int<class_int>` idx  **)** const                                                                  |
-+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_string>`    | :ref:`get_item_text<class_ItemList_get_item_text>`  **(** :ref:`int<class_int>` idx  **)** const                                                                          |
-+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_string>`    | :ref:`get_item_tooltip<class_ItemList_get_item_tooltip>`  **(** :ref:`int<class_int>` idx  **)** const                                                                    |
-+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`          | :ref:`get_max_columns<class_ItemList_get_max_columns>`  **(** **)** const                                                                                                 |
-+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`          | :ref:`get_max_text_lines<class_ItemList_get_max_text_lines>`  **(** **)** const                                                                                           |
-+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Vector2<class_vector2>`  | :ref:`get_min_icon_size<class_ItemList_get_min_icon_size>`  **(** **)** const                                                                                             |
-+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`          | :ref:`get_select_mode<class_ItemList_get_select_mode>`  **(** **)** const                                                                                                 |
-+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`        | :ref:`is_item_disabled<class_ItemList_is_item_disabled>`  **(** :ref:`int<class_int>` idx  **)** const                                                                    |
-+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`        | :ref:`is_item_selectable<class_ItemList_is_item_selectable>`  **(** :ref:`int<class_int>` idx  **)** const                                                                |
-+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`        | :ref:`is_selected<class_ItemList_is_selected>`  **(** :ref:`int<class_int>` idx  **)** const                                                                              |
-+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                           | :ref:`remove_item<class_ItemList_remove_item>`  **(** :ref:`int<class_int>` idx  **)**                                                                                    |
-+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                           | :ref:`select<class_ItemList_select>`  **(** :ref:`int<class_int>` idx, :ref:`bool<class_bool>` single=true  **)**                                                         |
-+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                           | :ref:`set_fixed_column_width<class_ItemList_set_fixed_column_width>`  **(** :ref:`int<class_int>` width  **)**                                                            |
-+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                           | :ref:`set_icon_mode<class_ItemList_set_icon_mode>`  **(** :ref:`int<class_int>` mode  **)**                                                                               |
-+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                           | :ref:`set_item_custom_bg_color<class_ItemList_set_item_custom_bg_color>`  **(** :ref:`int<class_int>` idx, :ref:`Color<class_color>` custom_bg_color  **)**               |
-+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                           | :ref:`set_item_disabled<class_ItemList_set_item_disabled>`  **(** :ref:`int<class_int>` idx, :ref:`bool<class_bool>` disabled  **)**                                      |
-+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                           | :ref:`set_item_icon<class_ItemList_set_item_icon>`  **(** :ref:`int<class_int>` idx, :ref:`Texture<class_texture>` icon  **)**                                            |
-+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                           | :ref:`set_item_metadata<class_ItemList_set_item_metadata>`  **(** :ref:`int<class_int>` idx, var metadata  **)**                                                          |
-+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                           | :ref:`set_item_selectable<class_ItemList_set_item_selectable>`  **(** :ref:`int<class_int>` idx, :ref:`bool<class_bool>` selectable  **)**                                |
-+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                           | :ref:`set_item_text<class_ItemList_set_item_text>`  **(** :ref:`int<class_int>` idx, :ref:`String<class_string>` text  **)**                                              |
-+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                           | :ref:`set_item_tooltip<class_ItemList_set_item_tooltip>`  **(** :ref:`int<class_int>` idx, :ref:`String<class_string>` tooltip  **)**                                     |
-+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                           | :ref:`set_max_columns<class_ItemList_set_max_columns>`  **(** :ref:`int<class_int>` amount  **)**                                                                         |
-+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                           | :ref:`set_max_text_lines<class_ItemList_set_max_text_lines>`  **(** :ref:`int<class_int>` lines  **)**                                                                    |
-+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                           | :ref:`set_min_icon_size<class_ItemList_set_min_icon_size>`  **(** :ref:`Vector2<class_vector2>` size  **)**                                                               |
-+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                           | :ref:`set_select_mode<class_ItemList_set_select_mode>`  **(** :ref:`int<class_int>` mode  **)**                                                                           |
-+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                           | :ref:`sort_items_by_text<class_ItemList_sort_items_by_text>`  **(** **)**                                                                                                 |
-+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                           | :ref:`unselect<class_ItemList_unselect>`  **(** :ref:`int<class_int>` idx  **)**                                                                                          |
-+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
++----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                             | :ref:`add_icon_item<class_ItemList_add_icon_item>`  **(** :ref:`Texture<class_texture>` icon, :ref:`bool<class_bool>` selectable=true  **)**                              |
++----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                             | :ref:`add_item<class_ItemList_add_item>`  **(** :ref:`String<class_string>` text, :ref:`Texture<class_texture>` icon=NULL, :ref:`bool<class_bool>` selectable=true  **)** |
++----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                             | :ref:`clear<class_ItemList_clear>`  **(** **)**                                                                                                                           |
++----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                             | :ref:`ensure_current_is_visible<class_ItemList_ensure_current_is_visible>`  **(** **)**                                                                                   |
++----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`          | :ref:`get_allow_rmb_select<class_ItemList_get_allow_rmb_select>`  **(** **)** const                                                                                       |
++----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`            | :ref:`get_fixed_column_width<class_ItemList_get_fixed_column_width>`  **(** **)** const                                                                                   |
++----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Vector2<class_vector2>`    | :ref:`get_fixed_icon_size<class_ItemList_get_fixed_icon_size>`  **(** **)** const                                                                                         |
++----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`            | :ref:`get_icon_mode<class_ItemList_get_icon_mode>`  **(** **)** const                                                                                                     |
++----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`        | :ref:`get_icon_scale<class_ItemList_get_icon_scale>`  **(** **)** const                                                                                                   |
++----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`            | :ref:`get_item_at_pos<class_ItemList_get_item_at_pos>`  **(** :ref:`Vector2<class_vector2>` pos, :ref:`bool<class_bool>` exact=false  **)** const                         |
++----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`            | :ref:`get_item_count<class_ItemList_get_item_count>`  **(** **)** const                                                                                                   |
++----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Color<class_color>`        | :ref:`get_item_custom_bg_color<class_ItemList_get_item_custom_bg_color>`  **(** :ref:`int<class_int>` idx  **)** const                                                    |
++----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Texture<class_texture>`    | :ref:`get_item_icon<class_ItemList_get_item_icon>`  **(** :ref:`int<class_int>` idx  **)** const                                                                          |
++----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Rect2<class_rect2>`        | :ref:`get_item_icon_region<class_ItemList_get_item_icon_region>`  **(** :ref:`int<class_int>` idx  **)** const                                                            |
++----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                             | :ref:`get_item_metadata<class_ItemList_get_item_metadata>`  **(** :ref:`int<class_int>` idx  **)** const                                                                  |
++----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_string>`      | :ref:`get_item_text<class_ItemList_get_item_text>`  **(** :ref:`int<class_int>` idx  **)** const                                                                          |
++----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_string>`      | :ref:`get_item_tooltip<class_ItemList_get_item_tooltip>`  **(** :ref:`int<class_int>` idx  **)** const                                                                    |
++----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`            | :ref:`get_max_columns<class_ItemList_get_max_columns>`  **(** **)** const                                                                                                 |
++----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`            | :ref:`get_max_text_lines<class_ItemList_get_max_text_lines>`  **(** **)** const                                                                                           |
++----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`            | :ref:`get_select_mode<class_ItemList_get_select_mode>`  **(** **)** const                                                                                                 |
++----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`IntArray<class_intarray>`  | :ref:`get_selected_items<class_ItemList_get_selected_items>`  **(** **)**                                                                                                 |
++----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`          | :ref:`is_item_disabled<class_ItemList_is_item_disabled>`  **(** :ref:`int<class_int>` idx  **)** const                                                                    |
++----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`          | :ref:`is_item_selectable<class_ItemList_is_item_selectable>`  **(** :ref:`int<class_int>` idx  **)** const                                                                |
++----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`            | :ref:`is_same_column_width<class_ItemList_is_same_column_width>`  **(** **)** const                                                                                       |
++----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`          | :ref:`is_selected<class_ItemList_is_selected>`  **(** :ref:`int<class_int>` idx  **)** const                                                                              |
++----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                             | :ref:`remove_item<class_ItemList_remove_item>`  **(** :ref:`int<class_int>` idx  **)**                                                                                    |
++----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                             | :ref:`select<class_ItemList_select>`  **(** :ref:`int<class_int>` idx, :ref:`bool<class_bool>` single=true  **)**                                                         |
++----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                             | :ref:`set_allow_rmb_select<class_ItemList_set_allow_rmb_select>`  **(** :ref:`bool<class_bool>` allow  **)**                                                              |
++----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                             | :ref:`set_fixed_column_width<class_ItemList_set_fixed_column_width>`  **(** :ref:`int<class_int>` width  **)**                                                            |
++----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                             | :ref:`set_fixed_icon_size<class_ItemList_set_fixed_icon_size>`  **(** :ref:`Vector2<class_vector2>` size  **)**                                                           |
++----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                             | :ref:`set_icon_mode<class_ItemList_set_icon_mode>`  **(** :ref:`int<class_int>` mode  **)**                                                                               |
++----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                             | :ref:`set_icon_scale<class_ItemList_set_icon_scale>`  **(** :ref:`float<class_float>` scale  **)**                                                                        |
++----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                             | :ref:`set_item_custom_bg_color<class_ItemList_set_item_custom_bg_color>`  **(** :ref:`int<class_int>` idx, :ref:`Color<class_color>` custom_bg_color  **)**               |
++----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                             | :ref:`set_item_disabled<class_ItemList_set_item_disabled>`  **(** :ref:`int<class_int>` idx, :ref:`bool<class_bool>` disabled  **)**                                      |
++----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                             | :ref:`set_item_icon<class_ItemList_set_item_icon>`  **(** :ref:`int<class_int>` idx, :ref:`Texture<class_texture>` icon  **)**                                            |
++----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                             | :ref:`set_item_icon_region<class_ItemList_set_item_icon_region>`  **(** :ref:`int<class_int>` idx, :ref:`Rect2<class_rect2>` rect  **)**                                  |
++----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                             | :ref:`set_item_metadata<class_ItemList_set_item_metadata>`  **(** :ref:`int<class_int>` idx, :ref:`Variant<class_variant>` metadata  **)**                                |
++----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                             | :ref:`set_item_selectable<class_ItemList_set_item_selectable>`  **(** :ref:`int<class_int>` idx, :ref:`bool<class_bool>` selectable  **)**                                |
++----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                             | :ref:`set_item_text<class_ItemList_set_item_text>`  **(** :ref:`int<class_int>` idx, :ref:`String<class_string>` text  **)**                                              |
++----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                             | :ref:`set_item_tooltip<class_ItemList_set_item_tooltip>`  **(** :ref:`int<class_int>` idx, :ref:`String<class_string>` tooltip  **)**                                     |
++----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                             | :ref:`set_max_columns<class_ItemList_set_max_columns>`  **(** :ref:`int<class_int>` amount  **)**                                                                         |
++----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                             | :ref:`set_max_text_lines<class_ItemList_set_max_text_lines>`  **(** :ref:`int<class_int>` lines  **)**                                                                    |
++----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                             | :ref:`set_same_column_width<class_ItemList_set_same_column_width>`  **(** :ref:`bool<class_bool>` enable  **)**                                                           |
++----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                             | :ref:`set_select_mode<class_ItemList_set_select_mode>`  **(** :ref:`int<class_int>` mode  **)**                                                                           |
++----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                             | :ref:`sort_items_by_text<class_ItemList_sort_items_by_text>`  **(** **)**                                                                                                 |
++----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                             | :ref:`unselect<class_ItemList_unselect>`  **(** :ref:`int<class_int>` idx  **)**                                                                                          |
++----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 
 Signals
 -------
 
 -  **item_activated**  **(** :ref:`int<class_int>` index  **)**
+-  **item_rmb_selected**  **(** :ref:`int<class_int>` index, :ref:`Vector2<class_vector2>` atpos  **)**
 -  **item_selected**  **(** :ref:`int<class_int>` index  **)**
 -  **multi_selected**  **(** :ref:`int<class_int>` index, :ref:`bool<class_bool>` selected  **)**
 
@@ -126,14 +147,30 @@ Member Function Description
 
 - void  **ensure_current_is_visible**  **(** **)**
 
+.. _class_ItemList_get_allow_rmb_select:
+
+- :ref:`bool<class_bool>`  **get_allow_rmb_select**  **(** **)** const
+
 .. _class_ItemList_get_fixed_column_width:
 
 - :ref:`int<class_int>`  **get_fixed_column_width**  **(** **)** const
 
+.. _class_ItemList_get_fixed_icon_size:
+
+- :ref:`Vector2<class_vector2>`  **get_fixed_icon_size**  **(** **)** const
+
 .. _class_ItemList_get_icon_mode:
 
 - :ref:`int<class_int>`  **get_icon_mode**  **(** **)** const
 
+.. _class_ItemList_get_icon_scale:
+
+- :ref:`float<class_float>`  **get_icon_scale**  **(** **)** const
+
+.. _class_ItemList_get_item_at_pos:
+
+- :ref:`int<class_int>`  **get_item_at_pos**  **(** :ref:`Vector2<class_vector2>` pos, :ref:`bool<class_bool>` exact=false  **)** const
+
 .. _class_ItemList_get_item_count:
 
 - :ref:`int<class_int>`  **get_item_count**  **(** **)** const
@@ -146,6 +183,10 @@ Member Function Description
 
 - :ref:`Texture<class_texture>`  **get_item_icon**  **(** :ref:`int<class_int>` idx  **)** const
 
+.. _class_ItemList_get_item_icon_region:
+
+- :ref:`Rect2<class_rect2>`  **get_item_icon_region**  **(** :ref:`int<class_int>` idx  **)** const
+
 .. _class_ItemList_get_item_metadata:
 
 - void  **get_item_metadata**  **(** :ref:`int<class_int>` idx  **)** const
@@ -166,14 +207,16 @@ Member Function Description
 
 - :ref:`int<class_int>`  **get_max_text_lines**  **(** **)** const
 
-.. _class_ItemList_get_min_icon_size:
-
-- :ref:`Vector2<class_vector2>`  **get_min_icon_size**  **(** **)** const
-
 .. _class_ItemList_get_select_mode:
 
 - :ref:`int<class_int>`  **get_select_mode**  **(** **)** const
 
+.. _class_ItemList_get_selected_items:
+
+- :ref:`IntArray<class_intarray>`  **get_selected_items**  **(** **)**
+
+Returns a list of selected indexes.
+
 .. _class_ItemList_is_item_disabled:
 
 - :ref:`bool<class_bool>`  **is_item_disabled**  **(** :ref:`int<class_int>` idx  **)** const
@@ -182,6 +225,10 @@ Member Function Description
 
 - :ref:`bool<class_bool>`  **is_item_selectable**  **(** :ref:`int<class_int>` idx  **)** const
 
+.. _class_ItemList_is_same_column_width:
+
+- :ref:`int<class_int>`  **is_same_column_width**  **(** **)** const
+
 .. _class_ItemList_is_selected:
 
 - :ref:`bool<class_bool>`  **is_selected**  **(** :ref:`int<class_int>` idx  **)** const
@@ -194,14 +241,26 @@ Member Function Description
 
 - void  **select**  **(** :ref:`int<class_int>` idx, :ref:`bool<class_bool>` single=true  **)**
 
+.. _class_ItemList_set_allow_rmb_select:
+
+- void  **set_allow_rmb_select**  **(** :ref:`bool<class_bool>` allow  **)**
+
 .. _class_ItemList_set_fixed_column_width:
 
 - void  **set_fixed_column_width**  **(** :ref:`int<class_int>` width  **)**
 
+.. _class_ItemList_set_fixed_icon_size:
+
+- void  **set_fixed_icon_size**  **(** :ref:`Vector2<class_vector2>` size  **)**
+
 .. _class_ItemList_set_icon_mode:
 
 - void  **set_icon_mode**  **(** :ref:`int<class_int>` mode  **)**
 
+.. _class_ItemList_set_icon_scale:
+
+- void  **set_icon_scale**  **(** :ref:`float<class_float>` scale  **)**
+
 .. _class_ItemList_set_item_custom_bg_color:
 
 - void  **set_item_custom_bg_color**  **(** :ref:`int<class_int>` idx, :ref:`Color<class_color>` custom_bg_color  **)**
@@ -214,9 +273,13 @@ Member Function Description
 
 - void  **set_item_icon**  **(** :ref:`int<class_int>` idx, :ref:`Texture<class_texture>` icon  **)**
 
+.. _class_ItemList_set_item_icon_region:
+
+- void  **set_item_icon_region**  **(** :ref:`int<class_int>` idx, :ref:`Rect2<class_rect2>` rect  **)**
+
 .. _class_ItemList_set_item_metadata:
 
-- void  **set_item_metadata**  **(** :ref:`int<class_int>` idx, var metadata  **)**
+- void  **set_item_metadata**  **(** :ref:`int<class_int>` idx, :ref:`Variant<class_variant>` metadata  **)**
 
 .. _class_ItemList_set_item_selectable:
 
@@ -238,9 +301,9 @@ Member Function Description
 
 - void  **set_max_text_lines**  **(** :ref:`int<class_int>` lines  **)**
 
-.. _class_ItemList_set_min_icon_size:
+.. _class_ItemList_set_same_column_width:
 
-- void  **set_min_icon_size**  **(** :ref:`Vector2<class_vector2>` size  **)**
+- void  **set_same_column_width**  **(** :ref:`bool<class_bool>` enable  **)**
 
 .. _class_ItemList_set_select_mode:
 

+ 2 - 2
classes/class_kinematicbody2d.rst

@@ -21,7 +21,7 @@ Member Functions
 +--------------------------------+------------------------------------------------------------------------------------------------------------------------+
 | :ref:`Object<class_object>`    | :ref:`get_collider<class_KinematicBody2D_get_collider>`  **(** **)** const                                             |
 +--------------------------------+------------------------------------------------------------------------------------------------------------------------+
-| Variant                        | :ref:`get_collider_metadata<class_KinematicBody2D_get_collider_metadata>`  **(** **)** const                           |
+| :ref:`Variant<class_variant>`  | :ref:`get_collider_metadata<class_KinematicBody2D_get_collider_metadata>`  **(** **)** const                           |
 +--------------------------------+------------------------------------------------------------------------------------------------------------------------+
 | :ref:`int<class_int>`          | :ref:`get_collider_shape<class_KinematicBody2D_get_collider_shape>`  **(** **)** const                                 |
 +--------------------------------+------------------------------------------------------------------------------------------------------------------------+
@@ -68,7 +68,7 @@ Return the body that collided with this one.
 
 .. _class_KinematicBody2D_get_collider_metadata:
 
-- Variant  **get_collider_metadata**  **(** **)** const
+- :ref:`Variant<class_variant>`  **get_collider_metadata**  **(** **)** const
 
 Return the metadata of the shape that collided with this body. If there is no collision, it will return 0, so collisions must be checked first with :ref:`is_colliding<class_KinematicBody2D_is_colliding>`. Additionally, this metadata can not be set with :ref:`Object.set_meta<class_Object_set_meta>`, it must be set with :ref:`Physics2DServer.body_set_shape_metadata<class_Physics2DServer_body_set_shape_metadata>`.
 

+ 6 - 0
classes/class_label.rst

@@ -39,6 +39,8 @@ Member Functions
 +------------------------------+---------------------------------------------------------------------------------------------------------------------+
 | :ref:`int<class_int>`        | :ref:`get_visible_characters<class_Label_get_visible_characters>`  **(** **)** const                                |
 +------------------------------+---------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`        | :ref:`get_visible_line_count<class_Label_get_visible_line_count>`  **(** **)** const                                |
++------------------------------+---------------------------------------------------------------------------------------------------------------------+
 | :ref:`bool<class_bool>`      | :ref:`has_autowrap<class_Label_has_autowrap>`  **(** **)** const                                                    |
 +------------------------------+---------------------------------------------------------------------------------------------------------------------+
 | :ref:`bool<class_bool>`      | :ref:`is_clipping_text<class_Label_is_clipping_text>`  **(** **)** const                                            |
@@ -146,6 +148,10 @@ Return the vertical alignment mode (any of the VALIGN\_\* enumeration values).
 
 Return the restricted number of characters to display. Returns -1 if unrestricted.
 
+.. _class_Label_get_visible_line_count:
+
+- :ref:`int<class_int>`  **get_visible_line_count**  **(** **)** const
+
 .. _class_Label_has_autowrap:
 
 - :ref:`bool<class_bool>`  **has_autowrap**  **(** **)** const

+ 108 - 33
classes/class_lineedit.rst

@@ -18,39 +18,59 @@ Control that provides single line string editing.
 Member Functions
 ----------------
 
-+------------------------------+--------------------------------------------------------------------------------------------------------------+
-| void                         | :ref:`append_at_cursor<class_LineEdit_append_at_cursor>`  **(** :ref:`String<class_string>` text  **)**      |
-+------------------------------+--------------------------------------------------------------------------------------------------------------+
-| void                         | :ref:`clear<class_LineEdit_clear>`  **(** **)**                                                              |
-+------------------------------+--------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`        | :ref:`get_align<class_LineEdit_get_align>`  **(** **)** const                                                |
-+------------------------------+--------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`        | :ref:`get_cursor_pos<class_LineEdit_get_cursor_pos>`  **(** **)** const                                      |
-+------------------------------+--------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`        | :ref:`get_max_length<class_LineEdit_get_max_length>`  **(** **)** const                                      |
-+------------------------------+--------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_string>`  | :ref:`get_text<class_LineEdit_get_text>`  **(** **)** const                                                  |
-+------------------------------+--------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`      | :ref:`is_editable<class_LineEdit_is_editable>`  **(** **)** const                                            |
-+------------------------------+--------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`      | :ref:`is_secret<class_LineEdit_is_secret>`  **(** **)** const                                                |
-+------------------------------+--------------------------------------------------------------------------------------------------------------+
-| void                         | :ref:`select<class_LineEdit_select>`  **(** :ref:`int<class_int>` from=0, :ref:`int<class_int>` to=-1  **)** |
-+------------------------------+--------------------------------------------------------------------------------------------------------------+
-| void                         | :ref:`select_all<class_LineEdit_select_all>`  **(** **)**                                                    |
-+------------------------------+--------------------------------------------------------------------------------------------------------------+
-| void                         | :ref:`set_align<class_LineEdit_set_align>`  **(** :ref:`int<class_int>` align  **)**                         |
-+------------------------------+--------------------------------------------------------------------------------------------------------------+
-| void                         | :ref:`set_cursor_pos<class_LineEdit_set_cursor_pos>`  **(** :ref:`int<class_int>` pos  **)**                 |
-+------------------------------+--------------------------------------------------------------------------------------------------------------+
-| void                         | :ref:`set_editable<class_LineEdit_set_editable>`  **(** :ref:`bool<class_bool>` enabled  **)**               |
-+------------------------------+--------------------------------------------------------------------------------------------------------------+
-| void                         | :ref:`set_max_length<class_LineEdit_set_max_length>`  **(** :ref:`int<class_int>` chars  **)**               |
-+------------------------------+--------------------------------------------------------------------------------------------------------------+
-| void                         | :ref:`set_secret<class_LineEdit_set_secret>`  **(** :ref:`bool<class_bool>` enabled  **)**                   |
-+------------------------------+--------------------------------------------------------------------------------------------------------------+
-| void                         | :ref:`set_text<class_LineEdit_set_text>`  **(** :ref:`String<class_string>` text  **)**                      |
-+------------------------------+--------------------------------------------------------------------------------------------------------------+
++------------------------------------+--------------------------------------------------------------------------------------------------------------------------+
+| void                               | :ref:`append_at_cursor<class_LineEdit_append_at_cursor>`  **(** :ref:`String<class_string>` text  **)**                  |
++------------------------------------+--------------------------------------------------------------------------------------------------------------------------+
+| void                               | :ref:`clear<class_LineEdit_clear>`  **(** **)**                                                                          |
++------------------------------------+--------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`            | :ref:`cursor_get_blink_enabled<class_LineEdit_cursor_get_blink_enabled>`  **(** **)** const                              |
++------------------------------------+--------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`          | :ref:`cursor_get_blink_speed<class_LineEdit_cursor_get_blink_speed>`  **(** **)** const                                  |
++------------------------------------+--------------------------------------------------------------------------------------------------------------------------+
+| void                               | :ref:`cursor_set_blink_enabled<class_LineEdit_cursor_set_blink_enabled>`  **(** :ref:`bool<class_bool>` enable  **)**    |
++------------------------------------+--------------------------------------------------------------------------------------------------------------------------+
+| void                               | :ref:`cursor_set_blink_speed<class_LineEdit_cursor_set_blink_speed>`  **(** :ref:`float<class_float>` blink_speed  **)** |
++------------------------------------+--------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`              | :ref:`get_align<class_LineEdit_get_align>`  **(** **)** const                                                            |
++------------------------------------+--------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`              | :ref:`get_cursor_pos<class_LineEdit_get_cursor_pos>`  **(** **)** const                                                  |
++------------------------------------+--------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`              | :ref:`get_max_length<class_LineEdit_get_max_length>`  **(** **)** const                                                  |
++------------------------------------+--------------------------------------------------------------------------------------------------------------------------+
+| :ref:`PopupMenu<class_popupmenu>`  | :ref:`get_menu<class_LineEdit_get_menu>`  **(** **)** const                                                              |
++------------------------------------+--------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_string>`        | :ref:`get_placeholder<class_LineEdit_get_placeholder>`  **(** **)** const                                                |
++------------------------------------+--------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`          | :ref:`get_placeholder_alpha<class_LineEdit_get_placeholder_alpha>`  **(** **)** const                                    |
++------------------------------------+--------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_string>`        | :ref:`get_text<class_LineEdit_get_text>`  **(** **)** const                                                              |
++------------------------------------+--------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`            | :ref:`is_editable<class_LineEdit_is_editable>`  **(** **)** const                                                        |
++------------------------------------+--------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`            | :ref:`is_secret<class_LineEdit_is_secret>`  **(** **)** const                                                            |
++------------------------------------+--------------------------------------------------------------------------------------------------------------------------+
+| void                               | :ref:`menu_option<class_LineEdit_menu_option>`  **(** :ref:`int<class_int>` option  **)**                                |
++------------------------------------+--------------------------------------------------------------------------------------------------------------------------+
+| void                               | :ref:`select<class_LineEdit_select>`  **(** :ref:`int<class_int>` from=0, :ref:`int<class_int>` to=-1  **)**             |
++------------------------------------+--------------------------------------------------------------------------------------------------------------------------+
+| void                               | :ref:`select_all<class_LineEdit_select_all>`  **(** **)**                                                                |
++------------------------------------+--------------------------------------------------------------------------------------------------------------------------+
+| void                               | :ref:`set_align<class_LineEdit_set_align>`  **(** :ref:`int<class_int>` align  **)**                                     |
++------------------------------------+--------------------------------------------------------------------------------------------------------------------------+
+| void                               | :ref:`set_cursor_pos<class_LineEdit_set_cursor_pos>`  **(** :ref:`int<class_int>` pos  **)**                             |
++------------------------------------+--------------------------------------------------------------------------------------------------------------------------+
+| void                               | :ref:`set_editable<class_LineEdit_set_editable>`  **(** :ref:`bool<class_bool>` enabled  **)**                           |
++------------------------------------+--------------------------------------------------------------------------------------------------------------------------+
+| void                               | :ref:`set_max_length<class_LineEdit_set_max_length>`  **(** :ref:`int<class_int>` chars  **)**                           |
++------------------------------------+--------------------------------------------------------------------------------------------------------------------------+
+| void                               | :ref:`set_placeholder<class_LineEdit_set_placeholder>`  **(** :ref:`String<class_string>` text  **)**                    |
++------------------------------------+--------------------------------------------------------------------------------------------------------------------------+
+| void                               | :ref:`set_placeholder_alpha<class_LineEdit_set_placeholder_alpha>`  **(** :ref:`float<class_float>` alpha  **)**         |
++------------------------------------+--------------------------------------------------------------------------------------------------------------------------+
+| void                               | :ref:`set_secret<class_LineEdit_set_secret>`  **(** :ref:`bool<class_bool>` enabled  **)**                               |
++------------------------------------+--------------------------------------------------------------------------------------------------------------------------+
+| void                               | :ref:`set_text<class_LineEdit_set_text>`  **(** :ref:`String<class_string>` text  **)**                                  |
++------------------------------------+--------------------------------------------------------------------------------------------------------------------------+
 
 Signals
 -------
@@ -65,6 +85,13 @@ Numeric Constants
 - **ALIGN_CENTER** = **1**
 - **ALIGN_RIGHT** = **2**
 - **ALIGN_FILL** = **3**
+- **MENU_CUT** = **0**
+- **MENU_COPY** = **1**
+- **MENU_PASTE** = **2**
+- **MENU_CLEAR** = **3**
+- **MENU_SELECT_ALL** = **4**
+- **MENU_UNDO** = **5**
+- **MENU_MAX** = **6**
 
 Description
 -----------
@@ -86,6 +113,30 @@ Append text at cursor, scrolling the :ref:`LineEdit<class_lineedit>` when needed
 
 Clear the :ref:`LineEdit<class_lineedit>` text.
 
+.. _class_LineEdit_cursor_get_blink_enabled:
+
+- :ref:`bool<class_bool>`  **cursor_get_blink_enabled**  **(** **)** const
+
+Gets whether the line edit caret is blinking.
+
+.. _class_LineEdit_cursor_get_blink_speed:
+
+- :ref:`float<class_float>`  **cursor_get_blink_speed**  **(** **)** const
+
+Gets the line edit caret blink speed.
+
+.. _class_LineEdit_cursor_set_blink_enabled:
+
+- void  **cursor_set_blink_enabled**  **(** :ref:`bool<class_bool>` enable  **)**
+
+Set the line edit caret to blink.
+
+.. _class_LineEdit_cursor_set_blink_speed:
+
+- void  **cursor_set_blink_speed**  **(** :ref:`float<class_float>` blink_speed  **)**
+
+Set the line edit caret blink speed. Cannot be less then or equal to 0.
+
 .. _class_LineEdit_get_align:
 
 - :ref:`int<class_int>`  **get_align**  **(** **)** const
@@ -102,6 +153,18 @@ Return the cursor position inside the :ref:`LineEdit<class_lineedit>`.
 
 Return the maximum amount of characters the :ref:`LineEdit<class_lineedit>` can edit. If 0 is returned, no limit exists.
 
+.. _class_LineEdit_get_menu:
+
+- :ref:`PopupMenu<class_popupmenu>`  **get_menu**  **(** **)** const
+
+.. _class_LineEdit_get_placeholder:
+
+- :ref:`String<class_string>`  **get_placeholder**  **(** **)** const
+
+.. _class_LineEdit_get_placeholder_alpha:
+
+- :ref:`float<class_float>`  **get_placeholder_alpha**  **(** **)** const
+
 .. _class_LineEdit_get_text:
 
 - :ref:`String<class_string>`  **get_text**  **(** **)** const
@@ -120,6 +183,10 @@ Return the *editable* status of the :ref:`LineEdit<class_lineedit>` (see :ref:`s
 
 Return the *secret* status of the :ref:`LineEdit<class_lineedit>` (see :ref:`set_secret<class_LineEdit_set_secret>`).
 
+.. _class_LineEdit_menu_option:
+
+- void  **menu_option**  **(** :ref:`int<class_int>` option  **)**
+
 .. _class_LineEdit_select:
 
 - void  **select**  **(** :ref:`int<class_int>` from=0, :ref:`int<class_int>` to=-1  **)**
@@ -152,6 +219,14 @@ Set the *editable* status of the :ref:`LineEdit<class_lineedit>`. When disabled,
 
 Set the maximum amount of characters the :ref:`LineEdit<class_lineedit>` can edit, and cropping existing text in case it exceeds that limit. Setting 0 removes the limit.
 
+.. _class_LineEdit_set_placeholder:
+
+- void  **set_placeholder**  **(** :ref:`String<class_string>` text  **)**
+
+.. _class_LineEdit_set_placeholder_alpha:
+
+- void  **set_placeholder_alpha**  **(** :ref:`float<class_float>` alpha  **)**
+
 .. _class_LineEdit_set_secret:
 
 - void  **set_secret**  **(** :ref:`bool<class_bool>` enabled  **)**

+ 69 - 0
classes/class_linkbutton.rst

@@ -0,0 +1,69 @@
+.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. DO NOT EDIT THIS FILE, but the doc/base/classes.xml source instead.
+
+.. _class_LinkButton:
+
+LinkButton
+==========
+
+**Inherits:** :ref:`BaseButton<class_basebutton>` **<** :ref:`Control<class_control>` **<** :ref:`CanvasItem<class_canvasitem>` **<** :ref:`Node<class_node>` **<** :ref:`Object<class_object>`
+
+**Category:** Core
+
+Brief Description
+-----------------
+
+Simple button used to represent a link to some resource
+
+Member Functions
+----------------
+
++------------------------------+-------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_string>`  | :ref:`get_text<class_LinkButton_get_text>`  **(** **)** const                                                     |
++------------------------------+-------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`        | :ref:`get_underline_mode<class_LinkButton_get_underline_mode>`  **(** **)** const                                 |
++------------------------------+-------------------------------------------------------------------------------------------------------------------+
+| void                         | :ref:`set_text<class_LinkButton_set_text>`  **(** :ref:`String<class_string>` text  **)**                         |
++------------------------------+-------------------------------------------------------------------------------------------------------------------+
+| void                         | :ref:`set_underline_mode<class_LinkButton_set_underline_mode>`  **(** :ref:`int<class_int>` underline_mode  **)** |
++------------------------------+-------------------------------------------------------------------------------------------------------------------+
+
+Numeric Constants
+-----------------
+
+- **UNDERLINE_MODE_ALWAYS** = **0** --- The LinkButton will always show an underline at the bottom of its text
+- **UNDERLINE_MODE_ON_HOVER** = **1** --- The LinkButton will show an underline at the bottom of its text when the mouse cursor is over it.
+
+Description
+-----------
+
+This kind of buttons are primarily used when the interaction with the button causes a context change (like linking to a web page).
+
+Member Function Description
+---------------------------
+
+.. _class_LinkButton_get_text:
+
+- :ref:`String<class_string>`  **get_text**  **(** **)** const
+
+Returns the text of the button.
+
+.. _class_LinkButton_get_underline_mode:
+
+- :ref:`int<class_int>`  **get_underline_mode**  **(** **)** const
+
+Returns the underline mode for this button.
+
+.. _class_LinkButton_set_text:
+
+- void  **set_text**  **(** :ref:`String<class_string>` text  **)**
+
+Sets the text of the button.
+
+.. _class_LinkButton_set_underline_mode:
+
+- void  **set_underline_mode**  **(** :ref:`int<class_int>` underline_mode  **)**
+
+Sets the underline mode for this button, the argument must be one of the :ref:`LinkButton<class_linkbutton>` constants (see constants section).
+
+

+ 50 - 0
classes/class_listener.rst

@@ -0,0 +1,50 @@
+.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. DO NOT EDIT THIS FILE, but the doc/base/classes.xml source instead.
+
+.. _class_Listener:
+
+Listener
+========
+
+**Inherits:** :ref:`Spatial<class_spatial>` **<** :ref:`Node<class_node>` **<** :ref:`Object<class_object>`
+
+**Category:** Core
+
+Brief Description
+-----------------
+
+
+
+Member Functions
+----------------
+
++------------------------------------+-----------------------------------------------------------------------------------------+
+| void                               | :ref:`clear_current<class_Listener_clear_current>`  **(** **)**                         |
++------------------------------------+-----------------------------------------------------------------------------------------+
+| :ref:`Transform<class_transform>`  | :ref:`get_listener_transform<class_Listener_get_listener_transform>`  **(** **)** const |
++------------------------------------+-----------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`            | :ref:`is_current<class_Listener_is_current>`  **(** **)** const                         |
++------------------------------------+-----------------------------------------------------------------------------------------+
+| void                               | :ref:`make_current<class_Listener_make_current>`  **(** **)**                           |
++------------------------------------+-----------------------------------------------------------------------------------------+
+
+Member Function Description
+---------------------------
+
+.. _class_Listener_clear_current:
+
+- void  **clear_current**  **(** **)**
+
+.. _class_Listener_get_listener_transform:
+
+- :ref:`Transform<class_transform>`  **get_listener_transform**  **(** **)** const
+
+.. _class_Listener_is_current:
+
+- :ref:`bool<class_bool>`  **is_current**  **(** **)** const
+
+.. _class_Listener_make_current:
+
+- void  **make_current**  **(** **)**
+
+

+ 31 - 25
classes/class_mainloop.rst

@@ -20,31 +20,33 @@ Main loop is the abstract main loop base class.
 Member Functions
 ----------------
 
-+--------------------------+---------------------------------------------------------------------------------------------------------------+
-| void                     | :ref:`_finalize<class_MainLoop__finalize>`  **(** **)** virtual                                               |
-+--------------------------+---------------------------------------------------------------------------------------------------------------+
-| void                     | :ref:`_idle<class_MainLoop__idle>`  **(** :ref:`float<class_float>` delta  **)** virtual                      |
-+--------------------------+---------------------------------------------------------------------------------------------------------------+
-| void                     | :ref:`_initialize<class_MainLoop__initialize>`  **(** **)** virtual                                           |
-+--------------------------+---------------------------------------------------------------------------------------------------------------+
-| void                     | :ref:`_input_event<class_MainLoop__input_event>`  **(** :ref:`InputEvent<class_inputevent>` ev  **)** virtual |
-+--------------------------+---------------------------------------------------------------------------------------------------------------+
-| void                     | :ref:`_input_text<class_MainLoop__input_text>`  **(** :ref:`String<class_string>` text  **)** virtual         |
-+--------------------------+---------------------------------------------------------------------------------------------------------------+
-| void                     | :ref:`_iteration<class_MainLoop__iteration>`  **(** :ref:`float<class_float>` delta  **)** virtual            |
-+--------------------------+---------------------------------------------------------------------------------------------------------------+
-| void                     | :ref:`finish<class_MainLoop_finish>`  **(** **)**                                                             |
-+--------------------------+---------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`  | :ref:`idle<class_MainLoop_idle>`  **(** :ref:`float<class_float>` delta  **)**                                |
-+--------------------------+---------------------------------------------------------------------------------------------------------------+
-| void                     | :ref:`init<class_MainLoop_init>`  **(** **)**                                                                 |
-+--------------------------+---------------------------------------------------------------------------------------------------------------+
-| void                     | :ref:`input_event<class_MainLoop_input_event>`  **(** :ref:`InputEvent<class_inputevent>` ev  **)**           |
-+--------------------------+---------------------------------------------------------------------------------------------------------------+
-| void                     | :ref:`input_text<class_MainLoop_input_text>`  **(** :ref:`String<class_string>` text  **)**                   |
-+--------------------------+---------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`  | :ref:`iteration<class_MainLoop_iteration>`  **(** :ref:`float<class_float>` delta  **)**                      |
-+--------------------------+---------------------------------------------------------------------------------------------------------------+
++--------------------------+------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                     | :ref:`_drop_files<class_MainLoop__drop_files>`  **(** :ref:`StringArray<class_stringarray>` files, :ref:`int<class_int>` screen  **)** virtual |
++--------------------------+------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                     | :ref:`_finalize<class_MainLoop__finalize>`  **(** **)** virtual                                                                                |
++--------------------------+------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                     | :ref:`_idle<class_MainLoop__idle>`  **(** :ref:`float<class_float>` delta  **)** virtual                                                       |
++--------------------------+------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                     | :ref:`_initialize<class_MainLoop__initialize>`  **(** **)** virtual                                                                            |
++--------------------------+------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                     | :ref:`_input_event<class_MainLoop__input_event>`  **(** :ref:`InputEvent<class_inputevent>` ev  **)** virtual                                  |
++--------------------------+------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                     | :ref:`_input_text<class_MainLoop__input_text>`  **(** :ref:`String<class_string>` text  **)** virtual                                          |
++--------------------------+------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                     | :ref:`_iteration<class_MainLoop__iteration>`  **(** :ref:`float<class_float>` delta  **)** virtual                                             |
++--------------------------+------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                     | :ref:`finish<class_MainLoop_finish>`  **(** **)**                                                                                              |
++--------------------------+------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`  | :ref:`idle<class_MainLoop_idle>`  **(** :ref:`float<class_float>` delta  **)**                                                                 |
++--------------------------+------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                     | :ref:`init<class_MainLoop_init>`  **(** **)**                                                                                                  |
++--------------------------+------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                     | :ref:`input_event<class_MainLoop_input_event>`  **(** :ref:`InputEvent<class_inputevent>` ev  **)**                                            |
++--------------------------+------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                     | :ref:`input_text<class_MainLoop_input_text>`  **(** :ref:`String<class_string>` text  **)**                                                    |
++--------------------------+------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`  | :ref:`iteration<class_MainLoop_iteration>`  **(** :ref:`float<class_float>` delta  **)**                                                       |
++--------------------------+------------------------------------------------------------------------------------------------------------------------------------------------+
 
 Numeric Constants
 -----------------
@@ -65,6 +67,10 @@ Main loop is the abstract main loop base class. All other main loop classes are
 Member Function Description
 ---------------------------
 
+.. _class_MainLoop__drop_files:
+
+- void  **_drop_files**  **(** :ref:`StringArray<class_stringarray>` files, :ref:`int<class_int>` screen  **)** virtual
+
 .. _class_MainLoop__finalize:
 
 - void  **_finalize**  **(** **)** virtual

+ 4 - 4
classes/class_marshalls.rst

@@ -23,13 +23,13 @@ Member Functions
 +----------------------------------+------------------------------------------------------------------------------------------------------------------+
 | :ref:`String<class_string>`      | :ref:`base64_to_utf8<class_Marshalls_base64_to_utf8>`  **(** :ref:`String<class_string>` base64_str  **)**       |
 +----------------------------------+------------------------------------------------------------------------------------------------------------------+
-| Variant                          | :ref:`base64_to_variant<class_Marshalls_base64_to_variant>`  **(** :ref:`String<class_string>` base64_str  **)** |
+| :ref:`Variant<class_variant>`    | :ref:`base64_to_variant<class_Marshalls_base64_to_variant>`  **(** :ref:`String<class_string>` base64_str  **)** |
 +----------------------------------+------------------------------------------------------------------------------------------------------------------+
 | :ref:`String<class_string>`      | :ref:`raw_to_base64<class_Marshalls_raw_to_base64>`  **(** :ref:`RawArray<class_rawarray>` array  **)**          |
 +----------------------------------+------------------------------------------------------------------------------------------------------------------+
 | :ref:`String<class_string>`      | :ref:`utf8_to_base64<class_Marshalls_utf8_to_base64>`  **(** :ref:`String<class_string>` utf8_str  **)**         |
 +----------------------------------+------------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_string>`      | :ref:`variant_to_base64<class_Marshalls_variant_to_base64>`  **(** var variant  **)**                            |
+| :ref:`String<class_string>`      | :ref:`variant_to_base64<class_Marshalls_variant_to_base64>`  **(** :ref:`Variant<class_variant>` variant  **)**  |
 +----------------------------------+------------------------------------------------------------------------------------------------------------------+
 
 Member Function Description
@@ -45,7 +45,7 @@ Member Function Description
 
 .. _class_Marshalls_base64_to_variant:
 
-- Variant  **base64_to_variant**  **(** :ref:`String<class_string>` base64_str  **)**
+- :ref:`Variant<class_variant>`  **base64_to_variant**  **(** :ref:`String<class_string>` base64_str  **)**
 
 .. _class_Marshalls_raw_to_base64:
 
@@ -57,6 +57,6 @@ Member Function Description
 
 .. _class_Marshalls_variant_to_base64:
 
-- :ref:`String<class_string>`  **variant_to_base64**  **(** var variant  **)**
+- :ref:`String<class_string>`  **variant_to_base64**  **(** :ref:`Variant<class_variant>` variant  **)**
 
 

+ 6 - 6
classes/class_meshdatatool.rst

@@ -71,9 +71,9 @@ Member Functions
 +------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`RealArray<class_realarray>`  | :ref:`get_vertex_weights<class_MeshDataTool_get_vertex_weights>`  **(** :ref:`int<class_int>` idx  **)** const                                      |
 +------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                               | :ref:`set_edge_meta<class_MeshDataTool_set_edge_meta>`  **(** :ref:`int<class_int>` idx, var meta  **)**                                            |
+| void                               | :ref:`set_edge_meta<class_MeshDataTool_set_edge_meta>`  **(** :ref:`int<class_int>` idx, :ref:`Variant<class_variant>` meta  **)**                  |
 +------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                               | :ref:`set_face_meta<class_MeshDataTool_set_face_meta>`  **(** :ref:`int<class_int>` idx, var meta  **)**                                            |
+| void                               | :ref:`set_face_meta<class_MeshDataTool_set_face_meta>`  **(** :ref:`int<class_int>` idx, :ref:`Variant<class_variant>` meta  **)**                  |
 +------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                               | :ref:`set_material<class_MeshDataTool_set_material>`  **(** :ref:`Material<class_material>` material  **)**                                         |
 +------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------+
@@ -83,7 +83,7 @@ Member Functions
 +------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                               | :ref:`set_vertex_color<class_MeshDataTool_set_vertex_color>`  **(** :ref:`int<class_int>` idx, :ref:`Color<class_color>` color  **)**               |
 +------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                               | :ref:`set_vertex_meta<class_MeshDataTool_set_vertex_meta>`  **(** :ref:`int<class_int>` idx, var meta  **)**                                        |
+| void                               | :ref:`set_vertex_meta<class_MeshDataTool_set_vertex_meta>`  **(** :ref:`int<class_int>` idx, :ref:`Variant<class_variant>` meta  **)**              |
 +------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                               | :ref:`set_vertex_normal<class_MeshDataTool_set_vertex_normal>`  **(** :ref:`int<class_int>` idx, :ref:`Vector3<class_vector3>` normal  **)**        |
 +------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------+
@@ -205,11 +205,11 @@ Member Function Description
 
 .. _class_MeshDataTool_set_edge_meta:
 
-- void  **set_edge_meta**  **(** :ref:`int<class_int>` idx, var meta  **)**
+- void  **set_edge_meta**  **(** :ref:`int<class_int>` idx, :ref:`Variant<class_variant>` meta  **)**
 
 .. _class_MeshDataTool_set_face_meta:
 
-- void  **set_face_meta**  **(** :ref:`int<class_int>` idx, var meta  **)**
+- void  **set_face_meta**  **(** :ref:`int<class_int>` idx, :ref:`Variant<class_variant>` meta  **)**
 
 .. _class_MeshDataTool_set_material:
 
@@ -229,7 +229,7 @@ Member Function Description
 
 .. _class_MeshDataTool_set_vertex_meta:
 
-- void  **set_vertex_meta**  **(** :ref:`int<class_int>` idx, var meta  **)**
+- void  **set_vertex_meta**  **(** :ref:`int<class_int>` idx, :ref:`Variant<class_variant>` meta  **)**
 
 .. _class_MeshDataTool_set_vertex_normal:
 

+ 35 - 23
classes/class_meshlibrary.rst

@@ -18,29 +18,33 @@ Library of meshes.
 Member Functions
 ----------------
 
-+----------------------------------+---------------------------------------------------------------------------------------------------------------------------------+
-| void                             | :ref:`clear<class_MeshLibrary_clear>`  **(** **)**                                                                              |
-+----------------------------------+---------------------------------------------------------------------------------------------------------------------------------+
-| void                             | :ref:`create_item<class_MeshLibrary_create_item>`  **(** :ref:`int<class_int>` id  **)**                                        |
-+----------------------------------+---------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`IntArray<class_intarray>`  | :ref:`get_item_list<class_MeshLibrary_get_item_list>`  **(** **)** const                                                        |
-+----------------------------------+---------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Mesh<class_mesh>`          | :ref:`get_item_mesh<class_MeshLibrary_get_item_mesh>`  **(** :ref:`int<class_int>` id  **)** const                              |
-+----------------------------------+---------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_string>`      | :ref:`get_item_name<class_MeshLibrary_get_item_name>`  **(** :ref:`int<class_int>` id  **)** const                              |
-+----------------------------------+---------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Shape<class_shape>`        | :ref:`get_item_shape<class_MeshLibrary_get_item_shape>`  **(** :ref:`int<class_int>` id  **)** const                            |
-+----------------------------------+---------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`            | :ref:`get_last_unused_item_id<class_MeshLibrary_get_last_unused_item_id>`  **(** **)** const                                    |
-+----------------------------------+---------------------------------------------------------------------------------------------------------------------------------+
-| void                             | :ref:`remove_item<class_MeshLibrary_remove_item>`  **(** :ref:`int<class_int>` id  **)**                                        |
-+----------------------------------+---------------------------------------------------------------------------------------------------------------------------------+
-| void                             | :ref:`set_item_mesh<class_MeshLibrary_set_item_mesh>`  **(** :ref:`int<class_int>` id, :ref:`Mesh<class_mesh>` mesh  **)**      |
-+----------------------------------+---------------------------------------------------------------------------------------------------------------------------------+
-| void                             | :ref:`set_item_name<class_MeshLibrary_set_item_name>`  **(** :ref:`int<class_int>` id, :ref:`String<class_string>` name  **)**  |
-+----------------------------------+---------------------------------------------------------------------------------------------------------------------------------+
-| void                             | :ref:`set_item_shape<class_MeshLibrary_set_item_shape>`  **(** :ref:`int<class_int>` id, :ref:`Shape<class_shape>` shape  **)** |
-+----------------------------------+---------------------------------------------------------------------------------------------------------------------------------+
++----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                         | :ref:`clear<class_MeshLibrary_clear>`  **(** **)**                                                                                                      |
++----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                         | :ref:`create_item<class_MeshLibrary_create_item>`  **(** :ref:`int<class_int>` id  **)**                                                                |
++----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`IntArray<class_intarray>`              | :ref:`get_item_list<class_MeshLibrary_get_item_list>`  **(** **)** const                                                                                |
++----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Mesh<class_mesh>`                      | :ref:`get_item_mesh<class_MeshLibrary_get_item_mesh>`  **(** :ref:`int<class_int>` id  **)** const                                                      |
++----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_string>`                  | :ref:`get_item_name<class_MeshLibrary_get_item_name>`  **(** :ref:`int<class_int>` id  **)** const                                                      |
++----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`NavigationMesh<class_navigationmesh>`  | :ref:`get_item_navmesh<class_MeshLibrary_get_item_navmesh>`  **(** :ref:`int<class_int>` id  **)** const                                                |
++----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Shape<class_shape>`                    | :ref:`get_item_shape<class_MeshLibrary_get_item_shape>`  **(** :ref:`int<class_int>` id  **)** const                                                    |
++----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                        | :ref:`get_last_unused_item_id<class_MeshLibrary_get_last_unused_item_id>`  **(** **)** const                                                            |
++----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                         | :ref:`remove_item<class_MeshLibrary_remove_item>`  **(** :ref:`int<class_int>` id  **)**                                                                |
++----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                         | :ref:`set_item_mesh<class_MeshLibrary_set_item_mesh>`  **(** :ref:`int<class_int>` id, :ref:`Mesh<class_mesh>` mesh  **)**                              |
++----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                         | :ref:`set_item_name<class_MeshLibrary_set_item_name>`  **(** :ref:`int<class_int>` id, :ref:`String<class_string>` name  **)**                          |
++----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                         | :ref:`set_item_navmesh<class_MeshLibrary_set_item_navmesh>`  **(** :ref:`int<class_int>` id, :ref:`NavigationMesh<class_navigationmesh>` navmesh  **)** |
++----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                         | :ref:`set_item_shape<class_MeshLibrary_set_item_shape>`  **(** :ref:`int<class_int>` id, :ref:`Shape<class_shape>` shape  **)**                         |
++----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------+
 
 Description
 -----------
@@ -80,6 +84,10 @@ Return the mesh of the item.
 
 Return the name of the item.
 
+.. _class_MeshLibrary_get_item_navmesh:
+
+- :ref:`NavigationMesh<class_navigationmesh>`  **get_item_navmesh**  **(** :ref:`int<class_int>` id  **)** const
+
 .. _class_MeshLibrary_get_item_shape:
 
 - :ref:`Shape<class_shape>`  **get_item_shape**  **(** :ref:`int<class_int>` id  **)** const
@@ -108,6 +116,10 @@ Set the mesh of the item.
 
 Set the name of the item.
 
+.. _class_MeshLibrary_set_item_navmesh:
+
+- void  **set_item_navmesh**  **(** :ref:`int<class_int>` id, :ref:`NavigationMesh<class_navigationmesh>` navmesh  **)**
+
 .. _class_MeshLibrary_set_item_shape:
 
 - void  **set_item_shape**  **(** :ref:`int<class_int>` id, :ref:`Shape<class_shape>` shape  **)**

+ 89 - 53
classes/class_node.rst

@@ -8,14 +8,14 @@ Node
 
 **Inherits:** :ref:`Object<class_object>`
 
-**Inherited By:** :ref:`Viewport<class_viewport>`, :ref:`Timer<class_timer>`, :ref:`CanvasLayer<class_canvaslayer>`, :ref:`EventPlayer<class_eventplayer>`, :ref:`SoundRoomParams<class_soundroomparams>`, :ref:`Spatial<class_spatial>`, :ref:`AnimationPlayer<class_animationplayer>`, :ref:`EditorPlugin<class_editorplugin>`, :ref:`ResourcePreloader<class_resourcepreloader>`, :ref:`AnimationTreePlayer<class_animationtreeplayer>`, :ref:`SamplePlayer<class_sampleplayer>`, :ref:`InstancePlaceholder<class_instanceplaceholder>`, :ref:`StreamPlayer<class_streamplayer>`, :ref:`CanvasItem<class_canvasitem>`, :ref:`Tween<class_tween>`
+**Inherited By:** :ref:`Viewport<class_viewport>`, :ref:`Timer<class_timer>`, :ref:`CanvasLayer<class_canvaslayer>`, :ref:`EventPlayer<class_eventplayer>`, :ref:`SoundRoomParams<class_soundroomparams>`, :ref:`Spatial<class_spatial>`, :ref:`AnimationPlayer<class_animationplayer>`, :ref:`EditorPlugin<class_editorplugin>`, :ref:`ResourcePreloader<class_resourcepreloader>`, :ref:`AnimationTreePlayer<class_animationtreeplayer>`, :ref:`SamplePlayer<class_sampleplayer>`, :ref:`InstancePlaceholder<class_instanceplaceholder>`, :ref:`HTTPRequest<class_httprequest>`, :ref:`StreamPlayer<class_streamplayer>`, :ref:`CanvasItem<class_canvasitem>`, :ref:`Tween<class_tween>`
 
 **Category:** Core
 
 Brief Description
 -----------------
 
-Base class for all the "Scene" elements.
+Base class for all the *scene* elements.
 
 Member Functions
 ----------------
@@ -93,6 +93,8 @@ Member Functions
 +------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`bool<class_bool>`            | :ref:`is_a_parent_of<class_Node_is_a_parent_of>`  **(** :ref:`Node<class_node>` node  **)** const                                                                       |
 +------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`            | :ref:`is_displayed_folded<class_Node_is_displayed_folded>`  **(** **)** const                                                                                           |
++------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`bool<class_bool>`            | :ref:`is_fixed_processing<class_Node_is_fixed_processing>`  **(** **)** const                                                                                           |
 +------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`bool<class_bool>`            | :ref:`is_greater_than<class_Node_is_greater_than>`  **(** :ref:`Node<class_node>` node  **)** const                                                                     |
@@ -129,6 +131,8 @@ Member Functions
 +------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                               | :ref:`replace_by<class_Node_replace_by>`  **(** :ref:`Node<class_node>` node, :ref:`bool<class_bool>` keep_data=false  **)**                                            |
 +------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                               | :ref:`set_display_folded<class_Node_set_display_folded>`  **(** :ref:`bool<class_bool>` fold  **)**                                                                     |
++------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                               | :ref:`set_filename<class_Node_set_filename>`  **(** :ref:`String<class_string>` filename  **)**                                                                         |
 +------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                               | :ref:`set_fixed_process<class_Node_set_fixed_process>`  **(** :ref:`bool<class_bool>` enable  **)**                                                                     |
@@ -171,6 +175,8 @@ Numeric Constants
 - **NOTIFICATION_PAUSED** = **14**
 - **NOTIFICATION_UNPAUSED** = **15**
 - **NOTIFICATION_INSTANCED** = **20**
+- **NOTIFICATION_DRAG_BEGIN** = **21**
+- **NOTIFICATION_DRAG_END** = **22**
 - **PAUSE_MODE_INHERIT** = **0**
 - **PAUSE_MODE_STOP** = **1**
 - **PAUSE_MODE_PROCESS** = **2**
@@ -178,23 +184,23 @@ Numeric Constants
 Description
 -----------
 
-Nodes can be set as children of other nodes, resulting in a tree arrangement. Any tree of nodes is called a "Scene".
+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.
 
-Scenes can be saved to disk, and then instanced into other scenes. This allows for very high flexibility in the architecture and data model of the projects.
+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.
 
-:ref:`SceneTree<class_scenetree>` contains the "active" tree of nodes, and a node becomes active (receiving NOTIFICATION_ENTER_SCENE) when added to that tree.
+**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.
 
-A node can contain any number of nodes as a children (but there is only one tree root) with the requirement that no two children with the same name can exist.
+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.
 
-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).
+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).
 
-Nodes can be set to "process" state, so they constantly receive a callback requesting them to process (do anything). Normal processing (:ref:`_process<class_Node__process>`) happens as fast as possible and is dependent on the frame rate, so the processing time delta is variable. Fixed processing (:ref:`_fixed_process<class_Node__fixed_process>`) happens a fixed amount of times per second (by default 60) and is useful to link itself to the physics.
+**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. Fixed processing (callback :ref:`_fixed_process<class_Node__fixed_process>`, toggled with :ref:`set_fixed_process<class_Node_set_fixed_process>`) happens a fixed amount of times per second (by default 60) and is useful to link itself to the physics.
 
-Nodes can also process input events. When set, the :ref:`_input<class_Node__input>` function will be called with every input that the program receives. Since this is usually too overkill (unless used for simple projects), an :ref:`_unhandled_input<class_Node__unhandled_input>` function is called when the input was not handled by anyone else (usually, GUI :ref:`Control<class_control>` nodes).
+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.
 
-To keep track of the scene hierarchy (specially when instancing scenes into scenes) an "owner" can be set to a node. This keeps track of who instanced what. This is mostly useful when writing editors and tools, though.
+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, it will free all its children nodes too.
+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.
 
 Member Function Description
 ---------------------------
@@ -203,45 +209,69 @@ 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.
+
+Corresponds to the NOTIFICATION_ENTER_TREE notification in :ref:`Object._notification<class_Object__notification>`.
+
 .. _class_Node__exit_tree:
 
 - 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.
+
+Corresponds to the NOTIFICATION_EXIT_TREE notification in :ref:`Object._notification<class_Object__notification>`.
+
 .. _class_Node__fixed_process:
 
 - void  **_fixed_process**  **(** :ref:`float<class_float>` delta  **)** virtual
 
-Called for fixed processing (synced to the physics).
+Called during the fixed processing step of the main loop. Fixed processing means that the frame rate is synced to the physics, i.e. the ``delta`` variable should be constant.
+
+It is only called if fixed processing has been enabled with :ref:`set_fixed_process<class_Node_set_fixed_process>`.
+
+Corresponds to the NOTIFICATION_FIXED_PROCESS notification in :ref:`Object._notification<class_Object__notification>`.
 
 .. _class_Node__input:
 
 - void  **_input**  **(** :ref:`InputEvent<class_inputevent>` event  **)** virtual
 
-Called when any input happens (also must enable with :ref:`set_process_input<class_Node_set_process_input>` or the property).
+Called for every input event.
+
+It has to be enabled with :ref:`set_process_input<class_Node_set_process_input>` or the corresponding property in the inspector.
 
 .. _class_Node__process:
 
 - void  **_process**  **(** :ref:`float<class_float>` delta  **)** virtual
 
-Called for processing. This is called every frame, with the delta time from the previous frame.
+Called during the processing step of the main loop. Processing happens at every frame and as fast as possible, so the ``delta`` time since the previous frame is not constant.
+
+It is only called if processing has been enabled with :ref:`set_process<class_Node_set_process>`.
+
+Corresponds to the NOTIFICATION_PROCESS notification in :ref:`Object._notification<class_Object__notification>`.
 
 .. _class_Node__ready:
 
 - void  **_ready**  **(** **)** virtual
 
-Called when ready (entered scene and children entered too).
+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.
+
+Corresponds to the NOTIFICATION_READY notification in :ref:`Object._notification<class_Object__notification>`.
 
 .. _class_Node__unhandled_input:
 
 - void  **_unhandled_input**  **(** :ref:`InputEvent<class_inputevent>` event  **)** virtual
 
-Called when any input happens that was not handled by something else (also must enable with :ref:`set_process_unhandled_input<class_Node_set_process_unhandled_input>` or the property).
+Called for every input event that has not already been handled by another node.
+
+It has to be enabled with :ref:`set_process_unhandled_input<class_Node_set_process_unhandled_input>` or the corresponding property in the inspector.
 
 .. _class_Node__unhandled_key_input:
 
 - void  **_unhandled_key_input**  **(** :ref:`InputEvent<class_inputevent>` key_event  **)** virtual
 
-Called when any key input happens that was not handled by something else.
+Called for every *key* input event that has not already been handled by another node.
+
+It has to be enabled with :ref:`set_process_unhandled_key_input<class_Node_set_process_unhandled_key_input>` or the corresponding property in the inspector.
 
 .. _class_Node_add_child:
 
@@ -249,24 +279,26 @@ Called when any key input happens that was not handled by something else.
 
 Add a child :ref:`Node<class_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.
 
-The optional boolean argument enforces creating child node with human-readable names, based on the name of node being instanced instead of its type only.
+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.
 
 .. _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 group of nodes, like for example: "Enemies", "Collectables", etc. A :ref:`Node<class_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>`).
+Add a node to a group. Groups are helpers to name and organize a subset of nodes, like for example "enemies" or "collectables". A :ref:`Node<class_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>`).
 
 .. _class_Node_can_process:
 
 - :ref:`bool<class_bool>`  **can_process**  **(** **)** const
 
-Return true if the node can process.
+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?
 
 .. _class_Node_duplicate:
 
 - :ref:`Node<class_node>`  **duplicate**  **(** :ref:`bool<class_bool>` use_instancing=false  **)** const
 
+Duplicate the node, returning a new :ref:`Node<class_node>`. If ``use_instancing`` is true, the duplicated node will be a new instance of the original :ref:`PackedScene<class_packedscene>`, if not it will be an independent node. The duplicated node has the same group assignments and signals as the original one.
+
 .. _class_Node_find_node:
 
 - :ref:`Node<class_node>`  **find_node**  **(** :ref:`String<class_string>` mask, :ref:`bool<class_bool>` recursive=true, :ref:`bool<class_bool>` owned=true  **)** const
@@ -277,83 +309,79 @@ Find a descendant of this node whose name matches ``mask`` as in :ref:`String.ma
 
 - :ref:`Node<class_node>`  **get_child**  **(** :ref:`int<class_int>` idx  **)** const
 
-Return a children node by it's index (see :ref:`get_child_count<class_Node_get_child_count>`). This method is often used for iterating all children of a node.
+Return a child node by its index (see :ref:`get_child_count<class_Node_get_child_count>`). This method is often used for iterating all children of a node.
 
 .. _class_Node_get_child_count:
 
 - :ref:`int<class_int>`  **get_child_count**  **(** **)** const
 
-Return the amount of children nodes.
+Return the amount of child nodes.
 
 .. _class_Node_get_children:
 
 - :ref:`Array<class_array>`  **get_children**  **(** **)** const
 
+Return an array of references (:ref:`Node<class_node>`) to the child nodes.
+
 .. _class_Node_get_filename:
 
 - :ref:`String<class_string>`  **get_filename**  **(** **)** const
 
-Return a filename that may be containedA node can 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>`).
+Return 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>`).
 
 .. _class_Node_get_fixed_process_delta_time:
 
 - :ref:`float<class_float>`  **get_fixed_process_delta_time**  **(** **)** const
 
-Return the time elapsed since the last fixed frame. This is always the same in fixed processing unless the frames per second is changed in :ref:`OS<class_os>`.
+Return the time elapsed since the last fixed frame (see :ref:`_fixed_process<class_Node__fixed_process>`). This is always the same in fixed processing unless the frames per second is changed in :ref:`OS<class_os>`.
 
 .. _class_Node_get_groups:
 
 - :ref:`Array<class_array>`  **get_groups**  **(** **)** const
 
+Return an array listing the groups that the node is part of.
+
 .. _class_Node_get_index:
 
 - :ref:`int<class_int>`  **get_index**  **(** **)** const
 
-Get the node index in the parent (assuming it has a parent).
+Get the node index, i.e. its position among the siblings of its parent.
 
 .. _class_Node_get_name:
 
 - :ref:`String<class_string>`  **get_name**  **(** **)** const
 
-Return the name of the :ref:`Node<class_node>`. Name is be unique within parent.
+Return the name of the node. This name is unique among the siblings (other child nodes from the same parent).
 
 .. _class_Node_get_node:
 
 - :ref:`Node<class_node>`  **get_node**  **(** :ref:`NodePath<class_nodepath>` path  **)** const
 
-Fetch a node. NodePath must be valid (or else error will occur) 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.
-
-Note: fetching absolute paths only works when the node is inside the scene tree (see :ref:`is_inside_tree<class_Node_is_inside_tree>`). Examples. Assume your current node is Character and following tree:
-
-
-
- root/
-
- root/Character
-
- root/Character/Sword
-
- root/Character/Backpack/Dagger
+Fetch 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.
 
- root/MyGame
+Note: fetching absolute paths only works when the node is inside the scene tree (see :ref:`is_inside_tree<class_Node_is_inside_tree>`).
 
- root/Swamp/Alligator
+*Example:* Assume your current node is Character and the following tree:
 
- root/Swamp/Mosquito
+::
 
- root/Swamp/Goblin
+    /root
+    /root/Character
+    /root/Character/Sword
+    /root/Character/Backpack/Dagger
+    /root/MyGame
+    /root/Swamp/Alligator
+    /root/Swamp/Mosquito
+    /root/Swamp/Goblin
 
+Possible paths are:
 
+::
 
- Possible paths are:
-
- - get_node("Sword")
-
- - get_node("Backpack/Dagger")
-
- - get_node("../Swamp/Alligator")
-
- - get_node("/root/MyGame")
+    get_node("Sword")
+    get_node("Backpack/Dagger")
+    get_node("../Swamp/Alligator")
+    get_node("/root/MyGame")
 
 .. _class_Node_get_node_and_resource:
 
@@ -369,7 +397,7 @@ Get the node owner (see :ref:`set_owner<class_Node_set_owner>`).
 
 - :ref:`Node<class_node>`  **get_parent**  **(** **)** const
 
-Return the parent :ref:`Node<class_node>` of the current :ref:`Node<class_node>`, or an empty Object if the node lacks a parent.
+Return the parent node of the current node, or an empty :ref:`Node<class_node>` if the node lacks a parent.
 
 .. _class_Node_get_path:
 
@@ -423,6 +451,10 @@ Return the time elapsed (in seconds) since the last process callback. This is al
 
 Return *true* if the "node" argument is a direct or indirect child of the current node, otherwise return *false*.
 
+.. _class_Node_is_displayed_folded:
+
+- :ref:`bool<class_bool>`  **is_displayed_folded**  **(** **)** const
+
 .. _class_Node_is_fixed_processing:
 
 - :ref:`bool<class_bool>`  **is_fixed_processing**  **(** **)** const
@@ -521,6 +553,10 @@ Remove a node from a group.
 
 Replace a node in a scene by a given one. Subscriptions that pass through this node will be lost.
 
+.. _class_Node_set_display_folded:
+
+- void  **set_display_folded**  **(** :ref:`bool<class_bool>` fold  **)**
+
 .. _class_Node_set_filename:
 
 - void  **set_filename**  **(** :ref:`String<class_string>` filename  **)**

+ 89 - 89
classes/class_object.rst

@@ -6,7 +6,7 @@
 Object
 ======
 
-**Inherited By:** :ref:`Reference<class_reference>`, :ref:`Physics2DServer<class_physics2dserver>`, :ref:`Input<class_input>`, :ref:`SpatialSound2DServer<class_spatialsound2dserver>`, :ref:`Node<class_node>`, :ref:`Geometry<class_geometry>`, :ref:`TreeItem<class_treeitem>`, :ref:`PhysicsDirectSpaceState<class_physicsdirectspacestate>`, :ref:`Physics2DDirectSpaceState<class_physics2ddirectspacestate>`, :ref:`MainLoop<class_mainloop>`, :ref:`InputMap<class_inputmap>`, :ref:`UndoRedo<class_undoredo>`, :ref:`PhysicsServer<class_physicsserver>`, :ref:`ResourceSaver<class_resourcesaver>`, :ref:`Performance<class_performance>`, :ref:`PathRemap<class_pathremap>`, :ref:`ResourceLoader<class_resourceloader>`, :ref:`AudioServer<class_audioserver>`, :ref:`SpatialSoundServer<class_spatialsoundserver>`, :ref:`IP<class_ip>`, :ref:`VisualServer<class_visualserver>`, :ref:`OS<class_os>`, :ref:`Physics2DDirectBodyState<class_physics2ddirectbodystate>`, :ref:`Globals<class_globals>`, :ref:`PhysicsDirectBodyState<class_physicsdirectbodystate>`, :ref:`TranslationServer<class_translationserver>`
+**Inherited By:** :ref:`Reference<class_reference>`, :ref:`Physics2DServer<class_physics2dserver>`, :ref:`Input<class_input>`, :ref:`SpatialSound2DServer<class_spatialsound2dserver>`, :ref:`Node<class_node>`, :ref:`Geometry<class_geometry>`, :ref:`TreeItem<class_treeitem>`, :ref:`PhysicsDirectSpaceState<class_physicsdirectspacestate>`, :ref:`Physics2DDirectSpaceState<class_physics2ddirectspacestate>`, :ref:`MainLoop<class_mainloop>`, :ref:`InputMap<class_inputmap>`, :ref:`UndoRedo<class_undoredo>`, :ref:`PhysicsServer<class_physicsserver>`, :ref:`ResourceSaver<class_resourcesaver>`, :ref:`Performance<class_performance>`, :ref:`PathRemap<class_pathremap>`, :ref:`ResourceLoader<class_resourceloader>`, :ref:`AudioServer<class_audioserver>`, :ref:`SpatialSoundServer<class_spatialsoundserver>`, :ref:`VisualServer<class_visualserver>`, :ref:`IP<class_ip>`, :ref:`OS<class_os>`, :ref:`Globals<class_globals>`, :ref:`PhysicsDirectBodyState<class_physicsdirectbodystate>`, :ref:`EditorSelection<class_editorselection>`, :ref:`Physics2DDirectBodyState<class_physics2ddirectbodystate>`, :ref:`TranslationServer<class_translationserver>`
 
 **Category:** Core
 
@@ -18,87 +18,87 @@ Base class for all non built-in types.
 Member Functions
 ----------------
 
-+----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_string>`            | :ref:`XL_MESSAGE<class_Object_XL_MESSAGE>`  **(** :ref:`String<class_string>` message  **)** const                                                                                                                                    |
-+----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                   | :ref:`_get<class_Object__get>`  **(** :ref:`String<class_string>` property  **)** virtual                                                                                                                                             |
-+----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Array<class_array>`              | :ref:`_get_property_list<class_Object__get_property_list>`  **(** **)** virtual                                                                                                                                                       |
-+----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                   | :ref:`_init<class_Object__init>`  **(** **)** virtual                                                                                                                                                                                 |
-+----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                   | :ref:`_notification<class_Object__notification>`  **(** :ref:`int<class_int>` what  **)** virtual                                                                                                                                     |
-+----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                   | :ref:`_set<class_Object__set>`  **(** :ref:`String<class_string>` property, var value  **)** virtual                                                                                                                                  |
-+----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                   | :ref:`add_user_signal<class_Object_add_user_signal>`  **(** :ref:`String<class_string>` signal, :ref:`Array<class_array>` arguments=Array()  **)**                                                                                    |
-+----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                   | :ref:`call<class_Object_call>`  **(** :ref:`String<class_string>` method, var arg0=NULL, var arg1=NULL, var arg2=NULL, var arg3=NULL, var arg4=NULL, var arg5=NULL, var arg6=NULL, var arg7=NULL, var arg8=NULL, var arg9=NULL  **)** |
-+----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                   | :ref:`call_deferred<class_Object_call_deferred>`  **(** :ref:`String<class_string>` method, var arg0=NULL, var arg1=NULL, var arg2=NULL, var arg3=NULL, var arg4=NULL  **)**                                                          |
-+----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| Variant                                | :ref:`callv<class_Object_callv>`  **(** :ref:`String<class_string>` method, :ref:`Array<class_array>` arg_array  **)**                                                                                                                |
-+----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                | :ref:`can_translate_messages<class_Object_can_translate_messages>`  **(** **)** const                                                                                                                                                 |
-+----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                  | :ref:`connect<class_Object_connect>`  **(** :ref:`String<class_string>` signal, :ref:`Object<class_object>` target, :ref:`String<class_string>` method, :ref:`Array<class_array>` binds=Array(), :ref:`int<class_int>` flags=0  **)** |
-+----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                   | :ref:`disconnect<class_Object_disconnect>`  **(** :ref:`String<class_string>` signal, :ref:`Object<class_object>` target, :ref:`String<class_string>` method  **)**                                                                   |
-+----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                   | :ref:`emit_signal<class_Object_emit_signal>`  **(** :ref:`String<class_string>` signal, var arg0=NULL, var arg1=NULL, var arg2=NULL, var arg3=NULL, var arg4=NULL  **)**                                                              |
-+----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                   | :ref:`free<class_Object_free>`  **(** **)**                                                                                                                                                                                           |
-+----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                   | :ref:`get<class_Object_get>`  **(** :ref:`String<class_string>` property  **)** const                                                                                                                                                 |
-+----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                  | :ref:`get_instance_ID<class_Object_get_instance_ID>`  **(** **)** const                                                                                                                                                               |
-+----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                   | :ref:`get_meta<class_Object_get_meta>`  **(** :ref:`String<class_string>` name  **)** const                                                                                                                                           |
-+----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`StringArray<class_stringarray>`  | :ref:`get_meta_list<class_Object_get_meta_list>`  **(** **)** const                                                                                                                                                                   |
-+----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Array<class_array>`              | :ref:`get_method_list<class_Object_get_method_list>`  **(** **)** const                                                                                                                                                               |
-+----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Array<class_array>`              | :ref:`get_property_list<class_Object_get_property_list>`  **(** **)** const                                                                                                                                                           |
-+----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Script<class_script>`            | :ref:`get_script<class_Object_get_script>`  **(** **)** const                                                                                                                                                                         |
-+----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Array<class_array>`              | :ref:`get_signal_connection_list<class_Object_get_signal_connection_list>`  **(** :ref:`String<class_string>` signal  **)** const                                                                                                     |
-+----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Array<class_array>`              | :ref:`get_signal_list<class_Object_get_signal_list>`  **(** **)** const                                                                                                                                                               |
-+----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_string>`            | :ref:`get_type<class_Object_get_type>`  **(** **)** const                                                                                                                                                                             |
-+----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                | :ref:`has_meta<class_Object_has_meta>`  **(** :ref:`String<class_string>` name  **)** const                                                                                                                                           |
-+----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                | :ref:`has_method<class_Object_has_method>`  **(** :ref:`String<class_string>` method  **)** const                                                                                                                                     |
-+----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                | :ref:`has_user_signal<class_Object_has_user_signal>`  **(** :ref:`String<class_string>` signal  **)** const                                                                                                                           |
-+----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                | :ref:`is_blocking_signals<class_Object_is_blocking_signals>`  **(** **)** const                                                                                                                                                       |
-+----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                | :ref:`is_connected<class_Object_is_connected>`  **(** :ref:`String<class_string>` signal, :ref:`Object<class_object>` target, :ref:`String<class_string>` method  **)** const                                                         |
-+----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                | :ref:`is_queued_for_deletion<class_Object_is_queued_for_deletion>`  **(** **)** const                                                                                                                                                 |
-+----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                | :ref:`is_type<class_Object_is_type>`  **(** :ref:`String<class_string>` type  **)** const                                                                                                                                             |
-+----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                   | :ref:`notification<class_Object_notification>`  **(** :ref:`int<class_int>` what, :ref:`bool<class_bool>` reversed=false  **)**                                                                                                       |
-+----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                   | :ref:`property_list_changed_notify<class_Object_property_list_changed_notify>`  **(** **)**                                                                                                                                           |
-+----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                   | :ref:`set<class_Object_set>`  **(** :ref:`String<class_string>` property, var value  **)**                                                                                                                                            |
-+----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                   | :ref:`set_block_signals<class_Object_set_block_signals>`  **(** :ref:`bool<class_bool>` enable  **)**                                                                                                                                 |
-+----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                   | :ref:`set_message_translation<class_Object_set_message_translation>`  **(** :ref:`bool<class_bool>` enable  **)**                                                                                                                     |
-+----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                   | :ref:`set_meta<class_Object_set_meta>`  **(** :ref:`String<class_string>` name, var value  **)**                                                                                                                                      |
-+----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                   | :ref:`set_script<class_Object_set_script>`  **(** :ref:`Script<class_script>` script  **)**                                                                                                                                           |
-+----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_string>`            | :ref:`tr<class_Object_tr>`  **(** :ref:`String<class_string>` message  **)** const                                                                                                                                                    |
-+----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
++----------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_string>`            | :ref:`XL_MESSAGE<class_Object_XL_MESSAGE>`  **(** :ref:`String<class_string>` message  **)** const                                                                                                                                                                                                                                                                                                                                                                                                        |
++----------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                   | :ref:`_get<class_Object__get>`  **(** :ref:`String<class_string>` property  **)** virtual                                                                                                                                                                                                                                                                                                                                                                                                                 |
++----------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Array<class_array>`              | :ref:`_get_property_list<class_Object__get_property_list>`  **(** **)** virtual                                                                                                                                                                                                                                                                                                                                                                                                                           |
++----------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                   | :ref:`_init<class_Object__init>`  **(** **)** virtual                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
++----------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                   | :ref:`_notification<class_Object__notification>`  **(** :ref:`int<class_int>` what  **)** virtual                                                                                                                                                                                                                                                                                                                                                                                                         |
++----------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                   | :ref:`_set<class_Object__set>`  **(** :ref:`String<class_string>` property, :ref:`Variant<class_variant>` value  **)** virtual                                                                                                                                                                                                                                                                                                                                                                            |
++----------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                   | :ref:`add_user_signal<class_Object_add_user_signal>`  **(** :ref:`String<class_string>` signal, :ref:`Array<class_array>` arguments=Array()  **)**                                                                                                                                                                                                                                                                                                                                                        |
++----------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                   | :ref:`call<class_Object_call>`  **(** :ref:`String<class_string>` method, :ref:`Variant<class_variant>` arg0=NULL, :ref:`Variant<class_variant>` arg1=NULL, :ref:`Variant<class_variant>` arg2=NULL, :ref:`Variant<class_variant>` arg3=NULL, :ref:`Variant<class_variant>` arg4=NULL, :ref:`Variant<class_variant>` arg5=NULL, :ref:`Variant<class_variant>` arg6=NULL, :ref:`Variant<class_variant>` arg7=NULL, :ref:`Variant<class_variant>` arg8=NULL, :ref:`Variant<class_variant>` arg9=NULL  **)** |
++----------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                   | :ref:`call_deferred<class_Object_call_deferred>`  **(** :ref:`String<class_string>` method, :ref:`Variant<class_variant>` arg0=NULL, :ref:`Variant<class_variant>` arg1=NULL, :ref:`Variant<class_variant>` arg2=NULL, :ref:`Variant<class_variant>` arg3=NULL, :ref:`Variant<class_variant>` arg4=NULL  **)**                                                                                                                                                                                            |
++----------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Variant<class_variant>`          | :ref:`callv<class_Object_callv>`  **(** :ref:`String<class_string>` method, :ref:`Array<class_array>` arg_array  **)**                                                                                                                                                                                                                                                                                                                                                                                    |
++----------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                | :ref:`can_translate_messages<class_Object_can_translate_messages>`  **(** **)** const                                                                                                                                                                                                                                                                                                                                                                                                                     |
++----------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                  | :ref:`connect<class_Object_connect>`  **(** :ref:`String<class_string>` signal, :ref:`Object<class_object>` target, :ref:`String<class_string>` method, :ref:`Array<class_array>` binds=Array(), :ref:`int<class_int>` flags=0  **)**                                                                                                                                                                                                                                                                     |
++----------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                   | :ref:`disconnect<class_Object_disconnect>`  **(** :ref:`String<class_string>` signal, :ref:`Object<class_object>` target, :ref:`String<class_string>` method  **)**                                                                                                                                                                                                                                                                                                                                       |
++----------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                   | :ref:`emit_signal<class_Object_emit_signal>`  **(** :ref:`String<class_string>` signal, :ref:`Variant<class_variant>` arg0=NULL, :ref:`Variant<class_variant>` arg1=NULL, :ref:`Variant<class_variant>` arg2=NULL, :ref:`Variant<class_variant>` arg3=NULL, :ref:`Variant<class_variant>` arg4=NULL  **)**                                                                                                                                                                                                |
++----------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                   | :ref:`free<class_Object_free>`  **(** **)**                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
++----------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                   | :ref:`get<class_Object_get>`  **(** :ref:`String<class_string>` property  **)** const                                                                                                                                                                                                                                                                                                                                                                                                                     |
++----------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                  | :ref:`get_instance_ID<class_Object_get_instance_ID>`  **(** **)** const                                                                                                                                                                                                                                                                                                                                                                                                                                   |
++----------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                   | :ref:`get_meta<class_Object_get_meta>`  **(** :ref:`String<class_string>` name  **)** const                                                                                                                                                                                                                                                                                                                                                                                                               |
++----------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`StringArray<class_stringarray>`  | :ref:`get_meta_list<class_Object_get_meta_list>`  **(** **)** const                                                                                                                                                                                                                                                                                                                                                                                                                                       |
++----------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Array<class_array>`              | :ref:`get_method_list<class_Object_get_method_list>`  **(** **)** const                                                                                                                                                                                                                                                                                                                                                                                                                                   |
++----------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Array<class_array>`              | :ref:`get_property_list<class_Object_get_property_list>`  **(** **)** const                                                                                                                                                                                                                                                                                                                                                                                                                               |
++----------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Script<class_script>`            | :ref:`get_script<class_Object_get_script>`  **(** **)** const                                                                                                                                                                                                                                                                                                                                                                                                                                             |
++----------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Array<class_array>`              | :ref:`get_signal_connection_list<class_Object_get_signal_connection_list>`  **(** :ref:`String<class_string>` signal  **)** const                                                                                                                                                                                                                                                                                                                                                                         |
++----------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Array<class_array>`              | :ref:`get_signal_list<class_Object_get_signal_list>`  **(** **)** const                                                                                                                                                                                                                                                                                                                                                                                                                                   |
++----------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_string>`            | :ref:`get_type<class_Object_get_type>`  **(** **)** const                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
++----------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                | :ref:`has_meta<class_Object_has_meta>`  **(** :ref:`String<class_string>` name  **)** const                                                                                                                                                                                                                                                                                                                                                                                                               |
++----------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                | :ref:`has_method<class_Object_has_method>`  **(** :ref:`String<class_string>` method  **)** const                                                                                                                                                                                                                                                                                                                                                                                                         |
++----------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                | :ref:`has_user_signal<class_Object_has_user_signal>`  **(** :ref:`String<class_string>` signal  **)** const                                                                                                                                                                                                                                                                                                                                                                                               |
++----------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                | :ref:`is_blocking_signals<class_Object_is_blocking_signals>`  **(** **)** const                                                                                                                                                                                                                                                                                                                                                                                                                           |
++----------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                | :ref:`is_connected<class_Object_is_connected>`  **(** :ref:`String<class_string>` signal, :ref:`Object<class_object>` target, :ref:`String<class_string>` method  **)** const                                                                                                                                                                                                                                                                                                                             |
++----------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                | :ref:`is_queued_for_deletion<class_Object_is_queued_for_deletion>`  **(** **)** const                                                                                                                                                                                                                                                                                                                                                                                                                     |
++----------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                | :ref:`is_type<class_Object_is_type>`  **(** :ref:`String<class_string>` type  **)** const                                                                                                                                                                                                                                                                                                                                                                                                                 |
++----------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                   | :ref:`notification<class_Object_notification>`  **(** :ref:`int<class_int>` what, :ref:`bool<class_bool>` reversed=false  **)**                                                                                                                                                                                                                                                                                                                                                                           |
++----------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                   | :ref:`property_list_changed_notify<class_Object_property_list_changed_notify>`  **(** **)**                                                                                                                                                                                                                                                                                                                                                                                                               |
++----------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                   | :ref:`set<class_Object_set>`  **(** :ref:`String<class_string>` property, :ref:`Variant<class_variant>` value  **)**                                                                                                                                                                                                                                                                                                                                                                                      |
++----------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                   | :ref:`set_block_signals<class_Object_set_block_signals>`  **(** :ref:`bool<class_bool>` enable  **)**                                                                                                                                                                                                                                                                                                                                                                                                     |
++----------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                   | :ref:`set_message_translation<class_Object_set_message_translation>`  **(** :ref:`bool<class_bool>` enable  **)**                                                                                                                                                                                                                                                                                                                                                                                         |
++----------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                   | :ref:`set_meta<class_Object_set_meta>`  **(** :ref:`String<class_string>` name, :ref:`Variant<class_variant>` value  **)**                                                                                                                                                                                                                                                                                                                                                                                |
++----------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                   | :ref:`set_script<class_Object_set_script>`  **(** :ref:`Script<class_script>` script  **)**                                                                                                                                                                                                                                                                                                                                                                                                               |
++----------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_string>`            | :ref:`tr<class_Object_tr>`  **(** :ref:`String<class_string>` message  **)** const                                                                                                                                                                                                                                                                                                                                                                                                                        |
++----------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 
 Signals
 -------
@@ -160,7 +160,7 @@ Notification request, the notification id is received.
 
 .. _class_Object__set:
 
-- void  **_set**  **(** :ref:`String<class_string>` property, var value  **)** virtual
+- void  **_set**  **(** :ref:`String<class_string>` property, :ref:`Variant<class_variant>` value  **)** virtual
 
 Set a property. Return true if the property was found.
 
@@ -172,19 +172,19 @@ Add a user signal (can be added anytime). Arguments are optional, but can be add
 
 .. _class_Object_call:
 
-- void  **call**  **(** :ref:`String<class_string>` method, var arg0=NULL, var arg1=NULL, var arg2=NULL, var arg3=NULL, var arg4=NULL, var arg5=NULL, var arg6=NULL, var arg7=NULL, var arg8=NULL, var arg9=NULL  **)**
+- void  **call**  **(** :ref:`String<class_string>` method, :ref:`Variant<class_variant>` arg0=NULL, :ref:`Variant<class_variant>` arg1=NULL, :ref:`Variant<class_variant>` arg2=NULL, :ref:`Variant<class_variant>` arg3=NULL, :ref:`Variant<class_variant>` arg4=NULL, :ref:`Variant<class_variant>` arg5=NULL, :ref:`Variant<class_variant>` arg6=NULL, :ref:`Variant<class_variant>` arg7=NULL, :ref:`Variant<class_variant>` arg8=NULL, :ref:`Variant<class_variant>` arg9=NULL  **)**
 
 Call a function in the object, result is returned.
 
 .. _class_Object_call_deferred:
 
-- void  **call_deferred**  **(** :ref:`String<class_string>` method, var arg0=NULL, var arg1=NULL, var arg2=NULL, var arg3=NULL, var arg4=NULL  **)**
+- void  **call_deferred**  **(** :ref:`String<class_string>` method, :ref:`Variant<class_variant>` arg0=NULL, :ref:`Variant<class_variant>` arg1=NULL, :ref:`Variant<class_variant>` arg2=NULL, :ref:`Variant<class_variant>` arg3=NULL, :ref:`Variant<class_variant>` arg4=NULL  **)**
 
 Create and store a function in the object. The call will take place on idle time.
 
 .. _class_Object_callv:
 
-- Variant  **callv**  **(** :ref:`String<class_string>` method, :ref:`Array<class_array>` arg_array  **)**
+- :ref:`Variant<class_variant>`  **callv**  **(** :ref:`String<class_string>` method, :ref:`Array<class_array>` arg_array  **)**
 
 .. _class_Object_can_translate_messages:
 
@@ -206,7 +206,7 @@ Disconnect a signal from a method.
 
 .. _class_Object_emit_signal:
 
-- void  **emit_signal**  **(** :ref:`String<class_string>` signal, var arg0=NULL, var arg1=NULL, var arg2=NULL, var arg3=NULL, var arg4=NULL  **)**
+- void  **emit_signal**  **(** :ref:`String<class_string>` signal, :ref:`Variant<class_variant>` arg0=NULL, :ref:`Variant<class_variant>` arg1=NULL, :ref:`Variant<class_variant>` arg2=NULL, :ref:`Variant<class_variant>` arg3=NULL, :ref:`Variant<class_variant>` arg4=NULL  **)**
 
 Emit a signal. Arguments are passed in an array.
 
@@ -318,7 +318,7 @@ Notify the object of something.
 
 .. _class_Object_set:
 
-- void  **set**  **(** :ref:`String<class_string>` property, var value  **)**
+- void  **set**  **(** :ref:`String<class_string>` property, :ref:`Variant<class_variant>` value  **)**
 
 Set property into the object.
 
@@ -336,7 +336,7 @@ Set true if this object can translate strings (in calls to tr() ). Default is tr
 
 .. _class_Object_set_meta:
 
-- void  **set_meta**  **(** :ref:`String<class_string>` name, var value  **)**
+- void  **set_meta**  **(** :ref:`String<class_string>` name, :ref:`Variant<class_variant>` value  **)**
 
 Set a metadata into the object. Metadata is serialized. Metadata can be *anything*.
 

+ 2 - 2
classes/class_optionbutton.rst

@@ -55,7 +55,7 @@ Member Functions
 +--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                           | :ref:`set_item_icon<class_OptionButton_set_item_icon>`  **(** :ref:`int<class_int>` idx, :ref:`Texture<class_texture>` texture  **)**                                   |
 +--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                           | :ref:`set_item_metadata<class_OptionButton_set_item_metadata>`  **(** :ref:`int<class_int>` idx, var metadata  **)**                                                    |
+| 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  **)**                                        |
 +--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
@@ -171,7 +171,7 @@ Set the icon of an item at index "idx".
 
 .. _class_OptionButton_set_item_metadata:
 
-- void  **set_item_metadata**  **(** :ref:`int<class_int>` idx, var metadata  **)**
+- void  **set_item_metadata**  **(** :ref:`int<class_int>` idx, :ref:`Variant<class_variant>` metadata  **)**
 
 .. _class_OptionButton_set_item_text:
 

+ 183 - 31
classes/class_os.rst

@@ -37,6 +37,8 @@ Member Functions
 +----------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`int<class_int>`                  | :ref:`find_scancode_from_string<class_OS_find_scancode_from_string>`  **(** :ref:`String<class_string>` string  **)** const                                                                                                |
 +----------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                | :ref:`get_borderless_window<class_OS_get_borderless_window>`  **(** **)** const                                                                                                                                            |
++----------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`String<class_string>`            | :ref:`get_clipboard<class_OS_get_clipboard>`  **(** **)** const                                                                                                                                                            |
 +----------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`StringArray<class_stringarray>`  | :ref:`get_cmdline_args<class_OS_get_cmdline_args>`  **(** **)**                                                                                                                                                            |
@@ -49,8 +51,14 @@ Member Functions
 +----------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`Dictionary<class_dictionary>`    | :ref:`get_date<class_OS_get_date>`  **(** :ref:`bool<class_bool>` utc=false  **)** const                                                                                                                                   |
 +----------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Dictionary<class_dictionary>`    | :ref:`get_datetime<class_OS_get_datetime>`  **(** :ref:`bool<class_bool>` utc=false  **)** const                                                                                                                           |
++----------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Dictionary<class_dictionary>`    | :ref:`get_datetime_from_unix_time<class_OS_get_datetime_from_unix_time>`  **(** :ref:`int<class_int>` unix_time_val  **)** const                                                                                           |
++----------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`int<class_int>`                  | :ref:`get_dynamic_memory_usage<class_OS_get_dynamic_memory_usage>`  **(** **)** const                                                                                                                                      |
 +----------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Dictionary<class_dictionary>`    | :ref:`get_engine_version<class_OS_get_engine_version>`  **(** **)** const                                                                                                                                                  |
++----------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`String<class_string>`            | :ref:`get_environment<class_OS_get_environment>`  **(** :ref:`String<class_string>` environment  **)** const                                                                                                               |
 +----------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`String<class_string>`            | :ref:`get_executable_path<class_OS_get_executable_path>`  **(** **)** const                                                                                                                                                |
@@ -63,6 +71,8 @@ Member Functions
 +----------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`int<class_int>`                  | :ref:`get_iterations_per_second<class_OS_get_iterations_per_second>`  **(** **)** const                                                                                                                                    |
 +----------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_string>`            | :ref:`get_latin_keyboard_variant<class_OS_get_latin_keyboard_variant>`  **(** **)** const                                                                                                                                  |
++----------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`String<class_string>`            | :ref:`get_locale<class_OS_get_locale>`  **(** **)** const                                                                                                                                                                  |
 +----------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`Object<class_object>`            | :ref:`get_main_loop<class_OS_get_main_loop>`  **(** **)** const                                                                                                                                                            |
@@ -79,6 +89,8 @@ Member Functions
 +----------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`int<class_int>`                  | :ref:`get_screen_count<class_OS_get_screen_count>`  **(** **)** const                                                                                                                                                      |
 +----------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                  | :ref:`get_screen_dpi<class_OS_get_screen_dpi>`  **(** :ref:`int<class_int>` screen=0  **)** const                                                                                                                          |
++----------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`int<class_int>`                  | :ref:`get_screen_orientation<class_OS_get_screen_orientation>`  **(** **)** const                                                                                                                                          |
 +----------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`Vector2<class_vector2>`          | :ref:`get_screen_position<class_OS_get_screen_position>`  **(** :ref:`int<class_int>` screen=0  **)** const                                                                                                                |
@@ -109,6 +121,8 @@ Member Functions
 +----------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`int<class_int>`                  | :ref:`get_unix_time<class_OS_get_unix_time>`  **(** **)** const                                                                                                                                                            |
 +----------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                  | :ref:`get_unix_time_from_datetime<class_OS_get_unix_time_from_datetime>`  **(** :ref:`Dictionary<class_dictionary>` datetime  **)** const                                                                                  |
++----------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`Vector2<class_vector2>`          | :ref:`get_video_mode_size<class_OS_get_video_mode_size>`  **(** :ref:`int<class_int>` screen=0  **)** const                                                                                                                |
 +----------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`Vector2<class_vector2>`          | :ref:`get_window_position<class_OS_get_window_position>`  **(** **)** const                                                                                                                                                |
@@ -119,6 +133,10 @@ Member Functions
 +----------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`bool<class_bool>`                | :ref:`has_touchscreen_ui_hint<class_OS_has_touchscreen_ui_hint>`  **(** **)** const                                                                                                                                        |
 +----------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                | :ref:`has_virtual_keyboard<class_OS_has_virtual_keyboard>`  **(** **)** const                                                                                                                                              |
++----------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                   | :ref:`hide_virtual_keyboard<class_OS_hide_virtual_keyboard>`  **(** **)**                                                                                                                                                  |
++----------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`bool<class_bool>`                | :ref:`is_debug_build<class_OS_is_debug_build>`  **(** **)** const                                                                                                                                                          |
 +----------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`bool<class_bool>`                | :ref:`is_in_low_processor_usage_mode<class_OS_is_in_low_processor_usage_mode>`  **(** **)** const                                                                                                                          |
@@ -135,6 +153,8 @@ Member Functions
 +----------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`bool<class_bool>`                | :ref:`is_video_mode_resizable<class_OS_is_video_mode_resizable>`  **(** :ref:`int<class_int>` screen=0  **)** const                                                                                                        |
 +----------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                | :ref:`is_vsnc_enabled<class_OS_is_vsnc_enabled>`  **(** **)** const                                                                                                                                                        |
++----------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`bool<class_bool>`                | :ref:`is_window_fullscreen<class_OS_is_window_fullscreen>`  **(** **)** const                                                                                                                                              |
 +----------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`bool<class_bool>`                | :ref:`is_window_maximized<class_OS_is_window_maximized>`  **(** **)** const                                                                                                                                                |
@@ -163,6 +183,10 @@ Member Functions
 +----------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                   | :ref:`print_resources_in_use<class_OS_print_resources_in_use>`  **(** :ref:`bool<class_bool>` short=false  **)**                                                                                                           |
 +----------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                   | :ref:`request_attention<class_OS_request_attention>`  **(** **)**                                                                                                                                                          |
++----------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                   | :ref:`set_borderless_window<class_OS_set_borderless_window>`  **(** :ref:`bool<class_bool>` borderless  **)**                                                                                                              |
++----------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                   | :ref:`set_clipboard<class_OS_set_clipboard>`  **(** :ref:`String<class_string>` clipboard  **)**                                                                                                                           |
 +----------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                   | :ref:`set_current_screen<class_OS_set_current_screen>`  **(** :ref:`int<class_int>` screen  **)**                                                                                                                          |
@@ -185,6 +209,8 @@ Member Functions
 +----------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                   | :ref:`set_use_file_access_save_and_swap<class_OS_set_use_file_access_save_and_swap>`  **(** :ref:`bool<class_bool>` enabled  **)**                                                                                         |
 +----------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                   | :ref:`set_use_vsync<class_OS_set_use_vsync>`  **(** :ref:`bool<class_bool>` enable  **)**                                                                                                                                  |
++----------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                   | :ref:`set_video_mode<class_OS_set_video_mode>`  **(** :ref:`Vector2<class_vector2>` size, :ref:`bool<class_bool>` fullscreen, :ref:`bool<class_bool>` resizable, :ref:`int<class_int>` screen=0  **)**                     |
 +----------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                   | :ref:`set_window_fullscreen<class_OS_set_window_fullscreen>`  **(** :ref:`bool<class_bool>` enabled  **)**                                                                                                                 |
@@ -203,6 +229,8 @@ Member Functions
 +----------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`int<class_int>`                  | :ref:`shell_open<class_OS_shell_open>`  **(** :ref:`String<class_string>` uri  **)**                                                                                                                                       |
 +----------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                   | :ref:`show_virtual_keyboard<class_OS_show_virtual_keyboard>`  **(** :ref:`String<class_string>` existing_text=""  **)**                                                                                                    |
++----------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 
 Numeric Constants
 -----------------
@@ -214,18 +242,18 @@ Numeric Constants
 - **DAY_THURSDAY** = **4**
 - **DAY_FRIDAY** = **5**
 - **DAY_SATURDAY** = **6**
-- **MONTH_JANUARY** = **0**
-- **MONTH_FEBRUARY** = **1**
-- **MONTH_MARCH** = **2**
-- **MONTH_APRIL** = **3**
-- **MONTH_MAY** = **4**
-- **MONTH_JUNE** = **5**
-- **MONTH_JULY** = **6**
-- **MONTH_AUGUST** = **7**
-- **MONTH_SEPTEMBER** = **8**
-- **MONTH_OCTOBER** = **9**
-- **MONTH_NOVEMBER** = **10**
-- **MONTH_DECEMBER** = **11**
+- **MONTH_JANUARY** = **1**
+- **MONTH_FEBRUARY** = **2**
+- **MONTH_MARCH** = **3**
+- **MONTH_APRIL** = **4**
+- **MONTH_MAY** = **5**
+- **MONTH_JUNE** = **6**
+- **MONTH_JULY** = **7**
+- **MONTH_AUGUST** = **8**
+- **MONTH_SEPTEMBER** = **9**
+- **MONTH_OCTOBER** = **10**
+- **MONTH_NOVEMBER** = **11**
+- **MONTH_DECEMBER** = **12**
 - **SCREEN_ORIENTATION_LANDSCAPE** = **0**
 - **SCREEN_ORIENTATION_PORTRAIT** = **1**
 - **SCREEN_ORIENTATION_REVERSE_LANDSCAPE** = **2**
@@ -245,25 +273,7 @@ Numeric Constants
 Description
 -----------
 
-Operating System functions. OS Wraps the most common functionality to communicate with the host Operating System, such as:
-
- -Mouse Grabbing
-
- -Mouse Cursors
-
- -Clipboard
-
- -Video Mode
-
- -Date " Time
-
- -Timers
-
- -Environment Variables
-
- -Execution of Binaries
-
- -Command Line
+Operating System functions. OS Wraps the most common functionality to communicate with the host Operating System, such as: mouse grabbing, mouse cursors, clipboard, video mode, date and time, timers, environment variables, execution of binaries, command line, etc.
 
 Member Function Description
 ---------------------------
@@ -272,6 +282,8 @@ Member Function Description
 
 - void  **alert**  **(** :ref:`String<class_string>` text, :ref:`String<class_string>` title="Alert!"  **)**
 
+Displays a modal dialog box utilizing the host OS.
+
 .. _class_OS_can_draw:
 
 - :ref:`bool<class_bool>`  **can_draw**  **(** **)** const
@@ -282,6 +294,8 @@ Return true if the host OS allows drawing.
 
 - :ref:`bool<class_bool>`  **can_use_threads**  **(** **)** const
 
+Returns if the current host platform is using multiple threads.
+
 .. _class_OS_delay_msec:
 
 - void  **delay_msec**  **(** :ref:`int<class_int>` msec  **)** const
@@ -298,10 +312,20 @@ Delay executing of the current thread by given microseconds.
 
 - void  **dump_memory_to_file**  **(** :ref:`String<class_string>` file  **)**
 
+Dumps the memory allocation ringlist to a file (only works in debug).
+
+Entry format per line: "Address - Size - Description"
+
 .. _class_OS_dump_resources_to_file:
 
 - void  **dump_resources_to_file**  **(** :ref:`String<class_string>` file  **)**
 
+Dumps all used resources to file (only works in debug).
+
+Entry format per line: "Resource Type : Resource Location"
+
+At the end of the file is a statistic of all used Resource Types.
+
 .. _class_OS_execute:
 
 - :ref:`int<class_int>`  **execute**  **(** :ref:`String<class_string>` path, :ref:`StringArray<class_stringarray>` arguments, :ref:`bool<class_bool>` blocking, :ref:`Array<class_array>` output=Array()  **)**
@@ -312,6 +336,14 @@ Execute the binary file in given path, optionally blocking until it returns. A p
 
 - :ref:`int<class_int>`  **find_scancode_from_string**  **(** :ref:`String<class_string>` string  **)** const
 
+Returns the scancode of the given string (e.g. "Escape")
+
+.. _class_OS_get_borderless_window:
+
+- :ref:`bool<class_bool>`  **get_borderless_window**  **(** **)** const
+
+Returns true if the current window is borderless.
+
 .. _class_OS_get_clipboard:
 
 - :ref:`String<class_string>`  **get_clipboard**  **(** **)** const
@@ -334,6 +366,8 @@ Returns the current screen index (0 padded).
 
 - :ref:`String<class_string>`  **get_custom_level**  **(** **)** const
 
+Returns the value of the commandline argument "-level".
+
 .. _class_OS_get_data_dir:
 
 - :ref:`String<class_string>`  **get_data_dir**  **(** **)** const
@@ -344,12 +378,48 @@ Return the absolute directory path of user data path(:ref:`user://<class_user://
 
 - :ref:`Dictionary<class_dictionary>`  **get_date**  **(** :ref:`bool<class_bool>` utc=false  **)** const
 
+Returns current date as a dictionary of keys: year, month, day, weekday, dst (daylight savings time).
+
+.. _class_OS_get_datetime:
+
+- :ref:`Dictionary<class_dictionary>`  **get_datetime**  **(** :ref:`bool<class_bool>` utc=false  **)** const
+
+Returns current datetime as a dictionary of keys: year, month, day, weekday, dst (daylight savings time), hour, minute, second.
+
+.. _class_OS_get_datetime_from_unix_time:
+
+- :ref:`Dictionary<class_dictionary>`  **get_datetime_from_unix_time**  **(** :ref:`int<class_int>` unix_time_val  **)** const
+
+Get a dictionary of time values when given epoch time.
+
+Dictionary Time values will be a union of values from :ref:`get_time<class_OS_get_time>` and :ref:`get_date<class_OS_get_date>` dictionaries (with the exception of dst = day light standard time, as it cannot be determined from epoch).
+
 .. _class_OS_get_dynamic_memory_usage:
 
 - :ref:`int<class_int>`  **get_dynamic_memory_usage**  **(** **)** const
 
 Return the total amount of dynamic memory used (only works in debug).
 
+.. _class_OS_get_engine_version:
+
+- :ref:`Dictionary<class_dictionary>`  **get_engine_version**  **(** **)** const
+
+Returns the current engine version information in a Dictionary.
+
+
+
+"major"    - Holds the major version number as a String
+
+"minor"    - Holds the minor version number as a String
+
+"patch"    - Holds the patch version number as a String
+
+"status"   - Holds the status (e.g. "beta", "rc1", "rc2", ... "stable") as a String
+
+"revision" - Holds the revision (e.g. "custom-build") as a String
+
+"string"   - major + minor + patch + status + revision in a single String
+
 .. _class_OS_get_environment:
 
 - :ref:`String<class_string>`  **get_environment**  **(** :ref:`String<class_string>` environment  **)** const
@@ -386,6 +456,14 @@ Return the list of fullscreen modes.
 
 Return the amount of fixed iterations per second (for fixed process and physics).
 
+.. _class_OS_get_latin_keyboard_variant:
+
+- :ref:`String<class_string>`  **get_latin_keyboard_variant**  **(** **)** const
+
+Returns the current latin keyboard variant as a String.
+
+Possible return values are: "QWERTY", "AZERTY", "QZERTY", "DVORAK", "NEO" or "ERROR"
+
 .. _class_OS_get_locale:
 
 - :ref:`String<class_string>`  **get_locale**  **(** **)** const
@@ -402,6 +480,8 @@ Return the main loop object (see :ref:`MainLoop<class_mainloop>`).
 
 - :ref:`String<class_string>`  **get_model_name**  **(** **)** const
 
+Returns the model name of the current device.
+
 .. _class_OS_get_name:
 
 - :ref:`String<class_string>`  **get_name**  **(** **)** const
@@ -424,12 +504,36 @@ Returns the number of cores available in the host machine.
 
 - :ref:`String<class_string>`  **get_scancode_string**  **(** :ref:`int<class_int>` code  **)** const
 
+Returns the given scancode as a string (e.g. Return values: "Escape", "Shift+Escape").
+
 .. _class_OS_get_screen_count:
 
 - :ref:`int<class_int>`  **get_screen_count**  **(** **)** const
 
 Returns the number of displays attached to the host machine
 
+.. _class_OS_get_screen_dpi:
+
+- :ref:`int<class_int>`  **get_screen_dpi**  **(** :ref:`int<class_int>` screen=0  **)** const
+
+Returns the dots per inch density of the specified screen.
+
+
+
+On Android Devices, the actual screen densities are grouped into six generalized densities:
+
+ldpi    - 120 dpi
+
+mdpi    - 160 dpi
+
+hdpi    - 240 dpi
+
+xhdpi   - 320 dpi
+
+xxhdpi  - 480 dpi
+
+xxxhdpi - 640 dpi
+
 .. _class_OS_get_screen_orientation:
 
 - :ref:`int<class_int>`  **get_screen_orientation**  **(** **)** const
@@ -482,6 +586,8 @@ Return the amount of time passed in milliseconds since the engine started.
 
 - :ref:`Dictionary<class_dictionary>`  **get_time**  **(** :ref:`bool<class_bool>` utc=false  **)** const
 
+Returns current time as a dictionary of keys: hour, minute, second
+
 .. _class_OS_get_time_scale:
 
 - :ref:`float<class_float>`  **get_time_scale**  **(** **)**
@@ -500,6 +606,16 @@ Return the amount of time passed in milliseconds since the engine started.
 
 Return	the current unix timestamp.
 
+.. _class_OS_get_unix_time_from_datetime:
+
+- :ref:`int<class_int>`  **get_unix_time_from_datetime**  **(** :ref:`Dictionary<class_dictionary>` datetime  **)** const
+
+Get an epoch time value from a dictionary of time values.
+
+``datetime`` must be populated with the following keys: year, month, day, hour, minute, second.
+
+You can pass the output from :ref:`get_datetime_from_unix_time<class_OS_get_datetime_from_unix_time>` directly into this function. Daylight savings time (dst), if present, is ignored.
+
 .. _class_OS_get_video_mode_size:
 
 - :ref:`Vector2<class_vector2>`  **get_video_mode_size**  **(** :ref:`int<class_int>` screen=0  **)** const
@@ -528,6 +644,18 @@ Return true if an environment variable exists.
 
 - :ref:`bool<class_bool>`  **has_touchscreen_ui_hint**  **(** **)** const
 
+.. _class_OS_has_virtual_keyboard:
+
+- :ref:`bool<class_bool>`  **has_virtual_keyboard**  **(** **)** const
+
+Returns true if the platform has a virtual keyboard, false otherwise.
+
+.. _class_OS_hide_virtual_keyboard:
+
+- void  **hide_virtual_keyboard**  **(** **)**
+
+Hides the virtual keyboard if it is shown, does nothing otherwise.
+
 .. _class_OS_is_debug_build:
 
 - :ref:`bool<class_bool>`  **is_debug_build**  **(** **)** const
@@ -570,6 +698,10 @@ Return true if the current video mode is fullscreen.
 
 Return true if the window is resizable.
 
+.. _class_OS_is_vsnc_enabled:
+
+- :ref:`bool<class_bool>`  **is_vsnc_enabled**  **(** **)** const
+
 .. _class_OS_is_window_fullscreen:
 
 - :ref:`bool<class_bool>`  **is_window_fullscreen**  **(** **)** const
@@ -636,6 +768,16 @@ Kill a process ID (this method can be used to kill processes that were not spawn
 
 - void  **print_resources_in_use**  **(** :ref:`bool<class_bool>` short=false  **)**
 
+.. _class_OS_request_attention:
+
+- void  **request_attention**  **(** **)**
+
+Request the user attention to the window. It'll flash the taskbar button on Windows or bounce the dock icon on OSX.
+
+.. _class_OS_set_borderless_window:
+
+- void  **set_borderless_window**  **(** :ref:`bool<class_bool>` borderless  **)**
+
 .. _class_OS_set_clipboard:
 
 - void  **set_clipboard**  **(** :ref:`String<class_string>` clipboard  **)**
@@ -692,6 +834,10 @@ Speeds up or slows down the physics by changing the delta variable. (delta \* ti
 
 - void  **set_use_file_access_save_and_swap**  **(** :ref:`bool<class_bool>` enabled  **)**
 
+.. _class_OS_set_use_vsync:
+
+- void  **set_use_vsync**  **(** :ref:`bool<class_bool>` enable  **)**
+
 .. _class_OS_set_video_mode:
 
 - void  **set_video_mode**  **(** :ref:`Vector2<class_vector2>` size, :ref:`bool<class_bool>` fullscreen, :ref:`bool<class_bool>` resizable, :ref:`int<class_int>` screen=0  **)**
@@ -744,4 +890,10 @@ Sets the window title to the specified string.
 
 - :ref:`int<class_int>`  **shell_open**  **(** :ref:`String<class_string>` uri  **)**
 
+.. _class_OS_show_virtual_keyboard:
+
+- void  **show_virtual_keyboard**  **(** :ref:`String<class_string>` existing_text=""  **)**
+
+Shows the virtual keyboard if the platform has one. The *existing_text* parameter is useful for implementing your own LineEdit, as it tells the virtual keyboard what text has already been typed (the virtual keyboard uses it for auto-correct and predictions).
+
 

+ 6 - 6
classes/class_packeddatacontainer.rst

@@ -18,18 +18,18 @@ Brief Description
 Member Functions
 ----------------
 
-+------------------------+---------------------------------------------------------------------+
-| Error                  | :ref:`pack<class_PackedDataContainer_pack>`  **(** var value  **)** |
-+------------------------+---------------------------------------------------------------------+
-| :ref:`int<class_int>`  | :ref:`size<class_PackedDataContainer_size>`  **(** **)** const      |
-+------------------------+---------------------------------------------------------------------+
++------------------------+-----------------------------------------------------------------------------------------------+
+| Error                  | :ref:`pack<class_PackedDataContainer_pack>`  **(** :ref:`Variant<class_variant>` value  **)** |
++------------------------+-----------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`  | :ref:`size<class_PackedDataContainer_size>`  **(** **)** const                                |
++------------------------+-----------------------------------------------------------------------------------------------+
 
 Member Function Description
 ---------------------------
 
 .. _class_PackedDataContainer_pack:
 
-- Error  **pack**  **(** var value  **)**
+- Error  **pack**  **(** :ref:`Variant<class_variant>` value  **)**
 
 .. _class_PackedDataContainer_size:
 

+ 4 - 4
classes/class_packetpeer.rst

@@ -27,11 +27,11 @@ Member Functions
 +----------------------------------+-----------------------------------------------------------------------------------------------------+
 | Error                            | :ref:`get_packet_error<class_PacketPeer_get_packet_error>`  **(** **)** const                       |
 +----------------------------------+-----------------------------------------------------------------------------------------------------+
-| Variant                          | :ref:`get_var<class_PacketPeer_get_var>`  **(** **)** const                                         |
+| :ref:`Variant<class_variant>`    | :ref:`get_var<class_PacketPeer_get_var>`  **(** **)** const                                         |
 +----------------------------------+-----------------------------------------------------------------------------------------------------+
 | Error                            | :ref:`put_packet<class_PacketPeer_put_packet>`  **(** :ref:`RawArray<class_rawarray>` buffer  **)** |
 +----------------------------------+-----------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`            | :ref:`put_var<class_PacketPeer_put_var>`  **(** Variant var  **)**                                  |
+| :ref:`int<class_int>`            | :ref:`put_var<class_PacketPeer_put_var>`  **(** :ref:`Variant<class_variant>` var  **)**            |
 +----------------------------------+-----------------------------------------------------------------------------------------------------+
 
 Description
@@ -62,7 +62,7 @@ Return the error state of the last packet received (via :ref:`get_packet<class_P
 
 .. _class_PacketPeer_get_var:
 
-- Variant  **get_var**  **(** **)** const
+- :ref:`Variant<class_variant>`  **get_var**  **(** **)** const
 
 Get a Variant.
 
@@ -74,7 +74,7 @@ Send a raw packet.
 
 .. _class_PacketPeer_put_var:
 
-- :ref:`int<class_int>`  **put_var**  **(** Variant var  **)**
+- :ref:`int<class_int>`  **put_var**  **(** :ref:`Variant<class_variant>` var  **)**
 
 Send a Variant as a packet.
 

+ 21 - 9
classes/class_parallaxlayer.rst

@@ -18,15 +18,19 @@ A parallax scrolling layer to be used with :ref:`ParallaxBackground<class_parall
 Member Functions
 ----------------
 
-+--------------------------------+-----------------------------------------------------------------------------------------------------------------+
-| :ref:`Vector2<class_vector2>`  | :ref:`get_mirroring<class_ParallaxLayer_get_mirroring>`  **(** **)** const                                      |
-+--------------------------------+-----------------------------------------------------------------------------------------------------------------+
-| :ref:`Vector2<class_vector2>`  | :ref:`get_motion_scale<class_ParallaxLayer_get_motion_scale>`  **(** **)** const                                |
-+--------------------------------+-----------------------------------------------------------------------------------------------------------------+
-| void                           | :ref:`set_mirroring<class_ParallaxLayer_set_mirroring>`  **(** :ref:`Vector2<class_vector2>` mirror  **)**      |
-+--------------------------------+-----------------------------------------------------------------------------------------------------------------+
-| void                           | :ref:`set_motion_scale<class_ParallaxLayer_set_motion_scale>`  **(** :ref:`Vector2<class_vector2>` scale  **)** |
-+--------------------------------+-----------------------------------------------------------------------------------------------------------------+
++--------------------------------+--------------------------------------------------------------------------------------------------------------------+
+| :ref:`Vector2<class_vector2>`  | :ref:`get_mirroring<class_ParallaxLayer_get_mirroring>`  **(** **)** const                                         |
++--------------------------------+--------------------------------------------------------------------------------------------------------------------+
+| :ref:`Vector2<class_vector2>`  | :ref:`get_motion_offset<class_ParallaxLayer_get_motion_offset>`  **(** **)** const                                 |
++--------------------------------+--------------------------------------------------------------------------------------------------------------------+
+| :ref:`Vector2<class_vector2>`  | :ref:`get_motion_scale<class_ParallaxLayer_get_motion_scale>`  **(** **)** const                                   |
++--------------------------------+--------------------------------------------------------------------------------------------------------------------+
+| void                           | :ref:`set_mirroring<class_ParallaxLayer_set_mirroring>`  **(** :ref:`Vector2<class_vector2>` mirror  **)**         |
++--------------------------------+--------------------------------------------------------------------------------------------------------------------+
+| void                           | :ref:`set_motion_offset<class_ParallaxLayer_set_motion_offset>`  **(** :ref:`Vector2<class_vector2>` offset  **)** |
++--------------------------------+--------------------------------------------------------------------------------------------------------------------+
+| void                           | :ref:`set_motion_scale<class_ParallaxLayer_set_motion_scale>`  **(** :ref:`Vector2<class_vector2>` scale  **)**    |
++--------------------------------+--------------------------------------------------------------------------------------------------------------------+
 
 Description
 -----------
@@ -42,6 +46,10 @@ Member Function Description
 
 Return the mirroring of the ParallaxLayer.
 
+.. _class_ParallaxLayer_get_motion_offset:
+
+- :ref:`Vector2<class_vector2>`  **get_motion_offset**  **(** **)** const
+
 .. _class_ParallaxLayer_get_motion_scale:
 
 - :ref:`Vector2<class_vector2>`  **get_motion_scale**  **(** **)** const
@@ -54,6 +62,10 @@ Return the motion scale of the ParallaxLayer.
 
 Set the mirroring of the ParallaxLayer. If an axis is set to 0 then that axis will have no mirroring.
 
+.. _class_ParallaxLayer_set_motion_offset:
+
+- void  **set_motion_offset**  **(** :ref:`Vector2<class_vector2>` offset  **)**
+
 .. _class_ParallaxLayer_set_motion_scale:
 
 - void  **set_motion_scale**  **(** :ref:`Vector2<class_vector2>` scale  **)**

+ 17 - 0
classes/class_patch9frame.rst

@@ -25,6 +25,8 @@ Member Functions
 +------------------------------+-------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`int<class_int>`        | :ref:`get_patch_margin<class_Patch9Frame_get_patch_margin>`  **(** :ref:`int<class_int>` margin  **)** const                        |
 +------------------------------+-------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Rect2<class_rect2>`    | :ref:`get_region_rect<class_Patch9Frame_get_region_rect>`  **(** **)** const                                                        |
++------------------------------+-------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`Object<class_object>`  | :ref:`get_texture<class_Patch9Frame_get_texture>`  **(** **)** const                                                                |
 +------------------------------+-------------------------------------------------------------------------------------------------------------------------------------+
 | void                         | :ref:`set_draw_center<class_Patch9Frame_set_draw_center>`  **(** :ref:`bool<class_bool>` draw_center  **)**                         |
@@ -33,9 +35,16 @@ Member Functions
 +------------------------------+-------------------------------------------------------------------------------------------------------------------------------------+
 | void                         | :ref:`set_patch_margin<class_Patch9Frame_set_patch_margin>`  **(** :ref:`int<class_int>` margin, :ref:`int<class_int>` value  **)** |
 +------------------------------+-------------------------------------------------------------------------------------------------------------------------------------+
+| void                         | :ref:`set_region_rect<class_Patch9Frame_set_region_rect>`  **(** :ref:`Rect2<class_rect2>` rect  **)**                              |
++------------------------------+-------------------------------------------------------------------------------------------------------------------------------------+
 | void                         | :ref:`set_texture<class_Patch9Frame_set_texture>`  **(** :ref:`Object<class_object>` texture  **)**                                 |
 +------------------------------+-------------------------------------------------------------------------------------------------------------------------------------+
 
+Signals
+-------
+
+-  **texture_changed**  **(** **)**
+
 Member Function Description
 ---------------------------
 
@@ -51,6 +60,10 @@ Member Function Description
 
 - :ref:`int<class_int>`  **get_patch_margin**  **(** :ref:`int<class_int>` margin  **)** const
 
+.. _class_Patch9Frame_get_region_rect:
+
+- :ref:`Rect2<class_rect2>`  **get_region_rect**  **(** **)** const
+
 .. _class_Patch9Frame_get_texture:
 
 - :ref:`Object<class_object>`  **get_texture**  **(** **)** const
@@ -67,6 +80,10 @@ Member Function Description
 
 - void  **set_patch_margin**  **(** :ref:`int<class_int>` margin, :ref:`int<class_int>` value  **)**
 
+.. _class_Patch9Frame_set_region_rect:
+
+- void  **set_region_rect**  **(** :ref:`Rect2<class_rect2>` rect  **)**
+
 .. _class_Patch9Frame_set_texture:
 
 - void  **set_texture**  **(** :ref:`Object<class_object>` texture  **)**

+ 2 - 2
classes/class_physics2ddirectbodystate.rst

@@ -33,7 +33,7 @@ Member Functions
 +--------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`int<class_int>`                                              | :ref:`get_contact_collider_shape<class_Physics2DDirectBodyState_get_contact_collider_shape>`  **(** :ref:`int<class_int>` contact_idx  **)** const                     |
 +--------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| Variant                                                            | :ref:`get_contact_collider_shape_metadata<class_Physics2DDirectBodyState_get_contact_collider_shape_metadata>`  **(** :ref:`int<class_int>` contact_idx  **)** const   |
+| :ref:`Variant<class_variant>`                                      | :ref:`get_contact_collider_shape_metadata<class_Physics2DDirectBodyState_get_contact_collider_shape_metadata>`  **(** :ref:`int<class_int>` contact_idx  **)** const   |
 +--------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`Vector2<class_vector2>`                                      | :ref:`get_contact_collider_velocity_at_pos<class_Physics2DDirectBodyState_get_contact_collider_velocity_at_pos>`  **(** :ref:`int<class_int>` contact_idx  **)** const |
 +--------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
@@ -122,7 +122,7 @@ Return the collider shape index.
 
 .. _class_Physics2DDirectBodyState_get_contact_collider_shape_metadata:
 
-- Variant  **get_contact_collider_shape_metadata**  **(** :ref:`int<class_int>` contact_idx  **)** const
+- :ref:`Variant<class_variant>`  **get_contact_collider_shape_metadata**  **(** :ref:`int<class_int>` contact_idx  **)** const
 
 Return the metadata of the collided shape. 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>`.
 

+ 27 - 18
classes/class_physics2dserver.rst

@@ -21,7 +21,7 @@ Member Functions
 ----------------
 
 +--------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                                               | :ref:`area_add_shape<class_Physics2DServer_area_add_shape>`  **(** :ref:`RID<class_rid>` area, :ref:`RID<class_rid>` shape, :ref:`Matrix32<class_matrix32>` transform=1,0, 0,1, 0,0  **)**                                                                                           |
+| void                                                               | :ref:`area_add_shape<class_Physics2DServer_area_add_shape>`  **(** :ref:`RID<class_rid>` area, :ref:`RID<class_rid>` shape, :ref:`Matrix32<class_matrix32>` transform=((1, 0), (0, 1), (0, 0))  **)**                                                                                |
 +--------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                                               | :ref:`area_attach_object_instance_ID<class_Physics2DServer_area_attach_object_instance_ID>`  **(** :ref:`RID<class_rid>` area, :ref:`int<class_int>` id  **)**                                                                                                                       |
 +--------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
@@ -53,7 +53,7 @@ Member Functions
 +--------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                                               | :ref:`area_set_monitor_callback<class_Physics2DServer_area_set_monitor_callback>`  **(** :ref:`RID<class_rid>` area, :ref:`Object<class_object>` receiver, :ref:`String<class_string>` method  **)**                                                                                 |
 +--------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                                               | :ref:`area_set_param<class_Physics2DServer_area_set_param>`  **(** :ref:`RID<class_rid>` area, :ref:`int<class_int>` param, var value  **)**                                                                                                                                         |
+| void                                                               | :ref:`area_set_param<class_Physics2DServer_area_set_param>`  **(** :ref:`RID<class_rid>` area, :ref:`int<class_int>` param, :ref:`Variant<class_variant>` value  **)**                                                                                                               |
 +--------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                                               | :ref:`area_set_shape<class_Physics2DServer_area_set_shape>`  **(** :ref:`RID<class_rid>` area, :ref:`int<class_int>` shape_idx, :ref:`RID<class_rid>` shape  **)**                                                                                                                   |
 +--------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
@@ -67,7 +67,9 @@ Member Functions
 +--------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                                               | :ref:`body_add_collision_exception<class_Physics2DServer_body_add_collision_exception>`  **(** :ref:`RID<class_rid>` body, :ref:`RID<class_rid>` excepted_body  **)**                                                                                                                |
 +--------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                                               | :ref:`body_add_shape<class_Physics2DServer_body_add_shape>`  **(** :ref:`RID<class_rid>` body, :ref:`RID<class_rid>` shape, :ref:`Matrix32<class_matrix32>` transform=1,0, 0,1, 0,0  **)**                                                                                           |
+| void                                                               | :ref:`body_add_force<class_Physics2DServer_body_add_force>`  **(** :ref:`RID<class_rid>` body, :ref:`Vector2<class_vector2>` offset, :ref:`Vector2<class_vector2>` force  **)**                                                                                                      |
++--------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                                               | :ref:`body_add_shape<class_Physics2DServer_body_add_shape>`  **(** :ref:`RID<class_rid>` body, :ref:`RID<class_rid>` shape, :ref:`Matrix32<class_matrix32>` transform=((1, 0), (0, 1), (0, 0))  **)**                                                                                |
 +--------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                                               | :ref:`body_apply_impulse<class_Physics2DServer_body_apply_impulse>`  **(** :ref:`RID<class_rid>` body, :ref:`Vector2<class_vector2>` pos, :ref:`Vector2<class_vector2>` impulse  **)**                                                                                               |
 +--------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
@@ -121,7 +123,7 @@ Member Functions
 +--------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                                               | :ref:`body_set_continuous_collision_detection_mode<class_Physics2DServer_body_set_continuous_collision_detection_mode>`  **(** :ref:`RID<class_rid>` body, :ref:`int<class_int>` mode  **)**                                                                                         |
 +--------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                                               | :ref:`body_set_force_integration_callback<class_Physics2DServer_body_set_force_integration_callback>`  **(** :ref:`RID<class_rid>` body, :ref:`Object<class_object>` receiver, :ref:`String<class_string>` method, var userdata=NULL  **)**                                          |
+| void                                                               | :ref:`body_set_force_integration_callback<class_Physics2DServer_body_set_force_integration_callback>`  **(** :ref:`RID<class_rid>` body, :ref:`Object<class_object>` receiver, :ref:`String<class_string>` method, :ref:`Variant<class_variant>` userdata=NULL  **)**                |
 +--------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                                               | :ref:`body_set_layer_mask<class_Physics2DServer_body_set_layer_mask>`  **(** :ref:`RID<class_rid>` body, :ref:`int<class_int>` mask  **)**                                                                                                                                           |
 +--------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
@@ -141,13 +143,13 @@ Member Functions
 +--------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                                               | :ref:`body_set_shape_as_trigger<class_Physics2DServer_body_set_shape_as_trigger>`  **(** :ref:`RID<class_rid>` body, :ref:`int<class_int>` shape_idx, :ref:`bool<class_bool>` enable  **)**                                                                                          |
 +--------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                                               | :ref:`body_set_shape_metadata<class_Physics2DServer_body_set_shape_metadata>`  **(** :ref:`RID<class_rid>` body, :ref:`int<class_int>` shape_idx, var metadata  **)**                                                                                                                |
+| void                                                               | :ref:`body_set_shape_metadata<class_Physics2DServer_body_set_shape_metadata>`  **(** :ref:`RID<class_rid>` body, :ref:`int<class_int>` shape_idx, :ref:`Variant<class_variant>` metadata  **)**                                                                                      |
 +--------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                                               | :ref:`body_set_shape_transform<class_Physics2DServer_body_set_shape_transform>`  **(** :ref:`RID<class_rid>` body, :ref:`int<class_int>` shape_idx, :ref:`Matrix32<class_matrix32>` transform  **)**                                                                                 |
 +--------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                                               | :ref:`body_set_space<class_Physics2DServer_body_set_space>`  **(** :ref:`RID<class_rid>` body, :ref:`RID<class_rid>` space  **)**                                                                                                                                                    |
 +--------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                                               | :ref:`body_set_state<class_Physics2DServer_body_set_state>`  **(** :ref:`RID<class_rid>` body, :ref:`int<class_int>` state, var value  **)**                                                                                                                                         |
+| void                                                               | :ref:`body_set_state<class_Physics2DServer_body_set_state>`  **(** :ref:`RID<class_rid>` body, :ref:`int<class_int>` state, :ref:`Variant<class_variant>` value  **)**                                                                                                               |
 +--------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`bool<class_bool>`                                            | :ref:`body_test_motion<class_Physics2DServer_body_test_motion>`  **(** :ref:`RID<class_rid>` body, :ref:`Vector2<class_vector2>` motion, :ref:`float<class_float>` margin=0.08, :ref:`Physics2DTestMotionResult<class_physics2dtestmotionresult>` result=NULL  **)**                 |
 +--------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
@@ -179,7 +181,7 @@ Member Functions
 +--------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`int<class_int>`                                              | :ref:`shape_get_type<class_Physics2DServer_shape_get_type>`  **(** :ref:`RID<class_rid>` shape  **)** const                                                                                                                                                                          |
 +--------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                                               | :ref:`shape_set_data<class_Physics2DServer_shape_set_data>`  **(** :ref:`RID<class_rid>` shape, var data  **)**                                                                                                                                                                      |
+| void                                                               | :ref:`shape_set_data<class_Physics2DServer_shape_set_data>`  **(** :ref:`RID<class_rid>` shape, :ref:`Variant<class_variant>` data  **)**                                                                                                                                            |
 +--------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`RID<class_rid>`                                              | :ref:`space_create<class_Physics2DServer_space_create>`  **(** **)**                                                                                                                                                                                                                 |
 +--------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
@@ -232,10 +234,11 @@ Numeric Constants
 - **BODY_PARAM_BOUNCE** = **0** --- Constant to set/get a body's bounce factor.
 - **BODY_PARAM_FRICTION** = **1** --- Constant to set/get a body's friction.
 - **BODY_PARAM_MASS** = **2** --- Constant to set/get a body's mass.
-- **BODY_PARAM_GRAVITY_SCALE** = **3** --- Constant to set/get a body's gravity multiplier.
-- **BODY_PARAM_LINEAR_DAMP** = **4** --- Constant to set/get a body's linear dampening factor.
-- **BODY_PARAM_ANGULAR_DAMP** = **5** --- Constant to set/get a body's angular dampening factor.
-- **BODY_PARAM_MAX** = **6** --- This is the last ID for body parameters. Any attempt to set this property is ignored. Any attempt to get it returns 0.
+- **BODY_PARAM_INERTIA** = **3** --- Constant to set/get a body's inertia.
+- **BODY_PARAM_GRAVITY_SCALE** = **4** --- Constant to set/get a body's gravity multiplier.
+- **BODY_PARAM_LINEAR_DAMP** = **5** --- Constant to set/get a body's linear dampening factor.
+- **BODY_PARAM_ANGULAR_DAMP** = **6** --- Constant to set/get a body's angular dampening factor.
+- **BODY_PARAM_MAX** = **7** --- This is the last ID for body parameters. Any attempt to set this property is ignored. Any attempt to get it returns 0.
 - **BODY_STATE_TRANSFORM** = **0** --- Constant to set/get the current transform matrix of the body.
 - **BODY_STATE_LINEAR_VELOCITY** = **1** --- Constant to set/get the current linear velocity of the body.
 - **BODY_STATE_ANGULAR_VELOCITY** = **2** --- Constant to set/get the current angular velocity of the body.
@@ -266,7 +269,7 @@ Member Function Description
 
 .. _class_Physics2DServer_area_add_shape:
 
-- void  **area_add_shape**  **(** :ref:`RID<class_rid>` area, :ref:`RID<class_rid>` shape, :ref:`Matrix32<class_matrix32>` transform=1,0, 0,1, 0,0  **)**
+- void  **area_add_shape**  **(** :ref:`RID<class_rid>` area, :ref:`RID<class_rid>` shape, :ref:`Matrix32<class_matrix32>` transform=((1, 0), (0, 1), (0, 0))  **)**
 
 Add a shape to the area, along with a transform matrix. Shapes are usually referenced by their index, so you should track which shape has a given index.
 
@@ -372,7 +375,7 @@ Set the function to call when any body/area enters or exits the area. This callb
 
 .. _class_Physics2DServer_area_set_param:
 
-- void  **area_set_param**  **(** :ref:`RID<class_rid>` area, :ref:`int<class_int>` param, var value  **)**
+- void  **area_set_param**  **(** :ref:`RID<class_rid>` area, :ref:`int<class_int>` param, :ref:`Variant<class_variant>` value  **)**
 
 Set the value for an area parameter. A list of available parameters is on the AREA_PARAM\_\* constants.
 
@@ -412,9 +415,15 @@ Set the transform matrix for an area.
 
 Add a body to the list of bodies exempt from collisions.
 
+.. _class_Physics2DServer_body_add_force:
+
+- void  **body_add_force**  **(** :ref:`RID<class_rid>` body, :ref:`Vector2<class_vector2>` offset, :ref:`Vector2<class_vector2>` force  **)**
+
+Add a positioned force to the applied force and torque. As with :ref:`body_apply_impulse<class_Physics2DServer_body_apply_impulse>`, both the force and the offset from the body origin are in global coordinates. A force differs from an impulse in that, while the two are forces, the impulse clears itself after being applied.
+
 .. _class_Physics2DServer_body_add_shape:
 
-- void  **body_add_shape**  **(** :ref:`RID<class_rid>` body, :ref:`RID<class_rid>` shape, :ref:`Matrix32<class_matrix32>` transform=1,0, 0,1, 0,0  **)**
+- void  **body_add_shape**  **(** :ref:`RID<class_rid>` body, :ref:`RID<class_rid>` shape, :ref:`Matrix32<class_matrix32>` transform=((1, 0), (0, 1), (0, 0))  **)**
 
 Add a shape to the body, along with a transform matrix. Shapes are usually referenced by their index, so you should track which shape has a given index.
 
@@ -578,7 +587,7 @@ Continuous collision detection tries to predict where a moving body will collide
 
 .. _class_Physics2DServer_body_set_force_integration_callback:
 
-- void  **body_set_force_integration_callback**  **(** :ref:`RID<class_rid>` body, :ref:`Object<class_object>` receiver, :ref:`String<class_string>` method, var userdata=NULL  **)**
+- void  **body_set_force_integration_callback**  **(** :ref:`RID<class_rid>` body, :ref:`Object<class_object>` receiver, :ref:`String<class_string>` method, :ref:`Variant<class_variant>` userdata=NULL  **)**
 
 Set the function used to calculate physics for an object, if that object allows it (see :ref:`body_set_omit_force integration<class_Physics2DServer_body_set_omit_force integration>`).
 
@@ -638,7 +647,7 @@ Mark a body's shape as a trigger. A trigger shape cannot affect other bodies, bu
 
 .. _class_Physics2DServer_body_set_shape_metadata:
 
-- void  **body_set_shape_metadata**  **(** :ref:`RID<class_rid>` body, :ref:`int<class_int>` shape_idx, var metadata  **)**
+- void  **body_set_shape_metadata**  **(** :ref:`RID<class_rid>` body, :ref:`int<class_int>` shape_idx, :ref:`Variant<class_variant>` metadata  **)**
 
 Set metadata of a shape within a body. This metadata is different from :ref:`Object.set_meta<class_Object_set_meta>`, and can be retrieved on shape queries.
 
@@ -656,7 +665,7 @@ Assign a space to the body (see :ref:`create_space<class_Physics2DServer_create_
 
 .. _class_Physics2DServer_body_set_state:
 
-- void  **body_set_state**  **(** :ref:`RID<class_rid>` body, :ref:`int<class_int>` state, var value  **)**
+- void  **body_set_state**  **(** :ref:`RID<class_rid>` body, :ref:`int<class_int>` state, :ref:`Variant<class_variant>` value  **)**
 
 Set a body state (see BODY_STATE\* constants).
 
@@ -752,7 +761,7 @@ Return the type of shape (see SHAPE\_\* constants).
 
 .. _class_Physics2DServer_shape_set_data:
 
-- void  **shape_set_data**  **(** :ref:`RID<class_rid>` shape, var data  **)**
+- void  **shape_set_data**  **(** :ref:`RID<class_rid>` shape, :ref:`Variant<class_variant>` data  **)**
 
 Set the shape data that defines its shape and size. The data to be passed depends on the kind of shape created :ref:`shape_get_type<class_Physics2DServer_shape_get_type>`.
 

+ 45 - 9
classes/class_physicsbody.rst

@@ -20,15 +20,27 @@ Base class for different types of Physics bodies.
 Member Functions
 ----------------
 
-+------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                   | :ref:`add_collision_exception_with<class_PhysicsBody_add_collision_exception_with>`  **(** :ref:`PhysicsBody<class_physicsbody>` body  **)**       |
-+------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`  | :ref:`get_layer_mask<class_PhysicsBody_get_layer_mask>`  **(** **)** const                                                                         |
-+------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                   | :ref:`remove_collision_exception_with<class_PhysicsBody_remove_collision_exception_with>`  **(** :ref:`PhysicsBody<class_physicsbody>` body  **)** |
-+------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                   | :ref:`set_layer_mask<class_PhysicsBody_set_layer_mask>`  **(** :ref:`int<class_int>` mask  **)**                                                   |
-+------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------+
++--------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                     | :ref:`add_collision_exception_with<class_PhysicsBody_add_collision_exception_with>`  **(** :ref:`PhysicsBody<class_physicsbody>` body  **)**       |
++--------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`    | :ref:`get_collision_mask<class_PhysicsBody_get_collision_mask>`  **(** **)** const                                                                 |
++--------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`  | :ref:`get_collision_mask_bit<class_PhysicsBody_get_collision_mask_bit>`  **(** :ref:`int<class_int>` bit  **)** const                              |
++--------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`    | :ref:`get_layer_mask<class_PhysicsBody_get_layer_mask>`  **(** **)** const                                                                         |
++--------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`  | :ref:`get_layer_mask_bit<class_PhysicsBody_get_layer_mask_bit>`  **(** :ref:`int<class_int>` bit  **)** const                                      |
++--------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                     | :ref:`remove_collision_exception_with<class_PhysicsBody_remove_collision_exception_with>`  **(** :ref:`PhysicsBody<class_physicsbody>` body  **)** |
++--------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                     | :ref:`set_collision_mask<class_PhysicsBody_set_collision_mask>`  **(** :ref:`int<class_int>` mask  **)**                                           |
++--------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                     | :ref:`set_collision_mask_bit<class_PhysicsBody_set_collision_mask_bit>`  **(** :ref:`int<class_int>` bit, :ref:`bool<class_bool>` value  **)**     |
++--------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                     | :ref:`set_layer_mask<class_PhysicsBody_set_layer_mask>`  **(** :ref:`int<class_int>` mask  **)**                                                   |
++--------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                     | :ref:`set_layer_mask_bit<class_PhysicsBody_set_layer_mask_bit>`  **(** :ref:`int<class_int>` bit, :ref:`bool<class_bool>` value  **)**             |
++--------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------+
 
 Description
 -----------
@@ -42,16 +54,40 @@ Member Function Description
 
 - void  **add_collision_exception_with**  **(** :ref:`PhysicsBody<class_physicsbody>` body  **)**
 
+.. _class_PhysicsBody_get_collision_mask:
+
+- :ref:`int<class_int>`  **get_collision_mask**  **(** **)** const
+
+.. _class_PhysicsBody_get_collision_mask_bit:
+
+- :ref:`bool<class_bool>`  **get_collision_mask_bit**  **(** :ref:`int<class_int>` bit  **)** const
+
 .. _class_PhysicsBody_get_layer_mask:
 
 - :ref:`int<class_int>`  **get_layer_mask**  **(** **)** const
 
+.. _class_PhysicsBody_get_layer_mask_bit:
+
+- :ref:`bool<class_bool>`  **get_layer_mask_bit**  **(** :ref:`int<class_int>` bit  **)** const
+
 .. _class_PhysicsBody_remove_collision_exception_with:
 
 - void  **remove_collision_exception_with**  **(** :ref:`PhysicsBody<class_physicsbody>` body  **)**
 
+.. _class_PhysicsBody_set_collision_mask:
+
+- void  **set_collision_mask**  **(** :ref:`int<class_int>` mask  **)**
+
+.. _class_PhysicsBody_set_collision_mask_bit:
+
+- void  **set_collision_mask_bit**  **(** :ref:`int<class_int>` bit, :ref:`bool<class_bool>` value  **)**
+
 .. _class_PhysicsBody_set_layer_mask:
 
 - void  **set_layer_mask**  **(** :ref:`int<class_int>` mask  **)**
 
+.. _class_PhysicsBody_set_layer_mask_bit:
+
+- void  **set_layer_mask_bit**  **(** :ref:`int<class_int>` bit, :ref:`bool<class_bool>` value  **)**
+
 

+ 231 - 195
classes/class_physicsserver.rst

@@ -20,197 +20,209 @@ Brief Description
 Member Functions
 ----------------
 
-+----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                                           | :ref:`area_add_shape<class_PhysicsServer_area_add_shape>`  **(** :ref:`RID<class_rid>` area, :ref:`RID<class_rid>` shape, :ref:`Transform<class_transform>` transform=Transform()  **)**                                                               |
-+----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                                           | :ref:`area_attach_object_instance_ID<class_PhysicsServer_area_attach_object_instance_ID>`  **(** :ref:`RID<class_rid>` area, :ref:`int<class_int>` id  **)**                                                                                           |
-+----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                                           | :ref:`area_clear_shapes<class_PhysicsServer_area_clear_shapes>`  **(** :ref:`RID<class_rid>` area  **)**                                                                                                                                               |
-+----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`RID<class_rid>`                                          | :ref:`area_create<class_PhysicsServer_area_create>`  **(** **)**                                                                                                                                                                                       |
-+----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                                          | :ref:`area_get_object_instance_ID<class_PhysicsServer_area_get_object_instance_ID>`  **(** :ref:`RID<class_rid>` area  **)** const                                                                                                                     |
-+----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                                           | :ref:`area_get_param<class_PhysicsServer_area_get_param>`  **(** :ref:`RID<class_rid>` area, :ref:`int<class_int>` param  **)** const                                                                                                                  |
-+----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`RID<class_rid>`                                          | :ref:`area_get_shape<class_PhysicsServer_area_get_shape>`  **(** :ref:`RID<class_rid>` area, :ref:`int<class_int>` shape_idx  **)** const                                                                                                              |
-+----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                                          | :ref:`area_get_shape_count<class_PhysicsServer_area_get_shape_count>`  **(** :ref:`RID<class_rid>` area  **)** const                                                                                                                                   |
-+----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Transform<class_transform>`                              | :ref:`area_get_shape_transform<class_PhysicsServer_area_get_shape_transform>`  **(** :ref:`RID<class_rid>` area, :ref:`int<class_int>` shape_idx  **)** const                                                                                          |
-+----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`RID<class_rid>`                                          | :ref:`area_get_space<class_PhysicsServer_area_get_space>`  **(** :ref:`RID<class_rid>` area  **)** const                                                                                                                                               |
-+----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                                          | :ref:`area_get_space_override_mode<class_PhysicsServer_area_get_space_override_mode>`  **(** :ref:`RID<class_rid>` area  **)** const                                                                                                                   |
-+----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Transform<class_transform>`                              | :ref:`area_get_transform<class_PhysicsServer_area_get_transform>`  **(** :ref:`RID<class_rid>` area  **)** const                                                                                                                                       |
-+----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                                        | :ref:`area_is_ray_pickable<class_PhysicsServer_area_is_ray_pickable>`  **(** :ref:`RID<class_rid>` area  **)** const                                                                                                                                   |
-+----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                                           | :ref:`area_remove_shape<class_PhysicsServer_area_remove_shape>`  **(** :ref:`RID<class_rid>` area, :ref:`int<class_int>` shape_idx  **)**                                                                                                              |
-+----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                                           | :ref:`area_set_monitor_callback<class_PhysicsServer_area_set_monitor_callback>`  **(** :ref:`RID<class_rid>` area, :ref:`Object<class_object>` receiver, :ref:`String<class_string>` method  **)**                                                     |
-+----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                                           | :ref:`area_set_param<class_PhysicsServer_area_set_param>`  **(** :ref:`RID<class_rid>` area, :ref:`int<class_int>` param, var value  **)**                                                                                                             |
-+----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                                           | :ref:`area_set_ray_pickable<class_PhysicsServer_area_set_ray_pickable>`  **(** :ref:`RID<class_rid>` area, :ref:`bool<class_bool>` enable  **)**                                                                                                       |
-+----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                                           | :ref:`area_set_shape<class_PhysicsServer_area_set_shape>`  **(** :ref:`RID<class_rid>` area, :ref:`int<class_int>` shape_idx, :ref:`RID<class_rid>` shape  **)**                                                                                       |
-+----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                                           | :ref:`area_set_shape_transform<class_PhysicsServer_area_set_shape_transform>`  **(** :ref:`RID<class_rid>` area, :ref:`int<class_int>` shape_idx, :ref:`Transform<class_transform>` transform  **)**                                                   |
-+----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                                           | :ref:`area_set_space<class_PhysicsServer_area_set_space>`  **(** :ref:`RID<class_rid>` area, :ref:`RID<class_rid>` space  **)**                                                                                                                        |
-+----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                                           | :ref:`area_set_space_override_mode<class_PhysicsServer_area_set_space_override_mode>`  **(** :ref:`RID<class_rid>` area, :ref:`int<class_int>` mode  **)**                                                                                             |
-+----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                                           | :ref:`area_set_transform<class_PhysicsServer_area_set_transform>`  **(** :ref:`RID<class_rid>` area, :ref:`Transform<class_transform>` transform  **)**                                                                                                |
-+----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                                           | :ref:`body_add_collision_exception<class_PhysicsServer_body_add_collision_exception>`  **(** :ref:`RID<class_rid>` body, :ref:`RID<class_rid>` excepted_body  **)**                                                                                    |
-+----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                                           | :ref:`body_add_shape<class_PhysicsServer_body_add_shape>`  **(** :ref:`RID<class_rid>` body, :ref:`RID<class_rid>` shape, :ref:`Transform<class_transform>` transform=Transform()  **)**                                                               |
-+----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                                           | :ref:`body_apply_impulse<class_PhysicsServer_body_apply_impulse>`  **(** :ref:`RID<class_rid>` body, :ref:`Vector3<class_vector3>` pos, :ref:`Vector3<class_vector3>` impulse  **)**                                                                   |
-+----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                                           | :ref:`body_attach_object_instance_ID<class_PhysicsServer_body_attach_object_instance_ID>`  **(** :ref:`RID<class_rid>` body, :ref:`int<class_int>` id  **)**                                                                                           |
-+----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                                           | :ref:`body_clear_shapes<class_PhysicsServer_body_clear_shapes>`  **(** :ref:`RID<class_rid>` body  **)**                                                                                                                                               |
-+----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :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:`int<class_int>`                                          | :ref:`body_get_axis_lock<class_PhysicsServer_body_get_axis_lock>`  **(** :ref:`RID<class_rid>` body  **)** const                                                                                                                                       |
-+----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                                          | :ref:`body_get_max_contacts_reported<class_PhysicsServer_body_get_max_contacts_reported>`  **(** :ref:`RID<class_rid>` body  **)** const                                                                                                               |
-+----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                                          | :ref:`body_get_mode<class_PhysicsServer_body_get_mode>`  **(** :ref:`RID<class_rid>` body  **)** const                                                                                                                                                 |
-+----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                                          | :ref:`body_get_object_instance_ID<class_PhysicsServer_body_get_object_instance_ID>`  **(** :ref:`RID<class_rid>` body  **)** const                                                                                                                     |
-+----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`                                      | :ref:`body_get_param<class_PhysicsServer_body_get_param>`  **(** :ref:`RID<class_rid>` body, :ref:`int<class_int>` param  **)** const                                                                                                                  |
-+----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`RID<class_rid>`                                          | :ref:`body_get_shape<class_PhysicsServer_body_get_shape>`  **(** :ref:`RID<class_rid>` body, :ref:`int<class_int>` shape_idx  **)** const                                                                                                              |
-+----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                                          | :ref:`body_get_shape_count<class_PhysicsServer_body_get_shape_count>`  **(** :ref:`RID<class_rid>` body  **)** const                                                                                                                                   |
-+----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Transform<class_transform>`                              | :ref:`body_get_shape_transform<class_PhysicsServer_body_get_shape_transform>`  **(** :ref:`RID<class_rid>` body, :ref:`int<class_int>` shape_idx  **)** const                                                                                          |
-+----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`RID<class_rid>`                                          | :ref:`body_get_space<class_PhysicsServer_body_get_space>`  **(** :ref:`RID<class_rid>` body  **)** const                                                                                                                                               |
-+----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                                           | :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_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                                                                                                       |
-+----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                                        | :ref:`body_is_ray_pickable<class_PhysicsServer_body_is_ray_pickable>`  **(** :ref:`RID<class_rid>` body  **)** const                                                                                                                                   |
-+----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                                           | :ref:`body_remove_collision_exception<class_PhysicsServer_body_remove_collision_exception>`  **(** :ref:`RID<class_rid>` body, :ref:`RID<class_rid>` excepted_body  **)**                                                                              |
-+----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                                           | :ref:`body_remove_shape<class_PhysicsServer_body_remove_shape>`  **(** :ref:`RID<class_rid>` body, :ref:`int<class_int>` shape_idx  **)**                                                                                                              |
-+----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                                           | :ref:`body_set_axis_lock<class_PhysicsServer_body_set_axis_lock>`  **(** :ref:`RID<class_rid>` body, :ref:`int<class_int>` axis  **)**                                                                                                                 |
-+----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                                           | :ref:`body_set_axis_velocity<class_PhysicsServer_body_set_axis_velocity>`  **(** :ref:`RID<class_rid>` body, :ref:`Vector3<class_vector3>` axis_velocity  **)**                                                                                        |
-+----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                                           | :ref:`body_set_enable_continuous_collision_detection<class_PhysicsServer_body_set_enable_continuous_collision_detection>`  **(** :ref:`RID<class_rid>` body, :ref:`bool<class_bool>` enable  **)**                                                     |
-+----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                                           | :ref:`body_set_force_integration_callback<class_PhysicsServer_body_set_force_integration_callback>`  **(** :ref:`RID<class_rid>` body, :ref:`Object<class_object>` receiver, :ref:`String<class_string>` method, var userdata=NULL  **)**              |
-+----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                                           | :ref:`body_set_max_contacts_reported<class_PhysicsServer_body_set_max_contacts_reported>`  **(** :ref:`RID<class_rid>` body, :ref:`int<class_int>` amount  **)**                                                                                       |
-+----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                                           | :ref:`body_set_mode<class_PhysicsServer_body_set_mode>`  **(** :ref:`RID<class_rid>` body, :ref:`int<class_int>` mode  **)**                                                                                                                           |
-+----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                                           | :ref:`body_set_omit_force_integration<class_PhysicsServer_body_set_omit_force_integration>`  **(** :ref:`RID<class_rid>` body, :ref:`bool<class_bool>` enable  **)**                                                                                   |
-+----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                                           | :ref:`body_set_param<class_PhysicsServer_body_set_param>`  **(** :ref:`RID<class_rid>` body, :ref:`int<class_int>` param, :ref:`float<class_float>` value  **)**                                                                                       |
-+----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                                           | :ref:`body_set_ray_pickable<class_PhysicsServer_body_set_ray_pickable>`  **(** :ref:`RID<class_rid>` body, :ref:`bool<class_bool>` enable  **)**                                                                                                       |
-+----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                                           | :ref:`body_set_shape<class_PhysicsServer_body_set_shape>`  **(** :ref:`RID<class_rid>` body, :ref:`int<class_int>` shape_idx, :ref:`RID<class_rid>` shape  **)**                                                                                       |
-+----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                                           | :ref:`body_set_shape_transform<class_PhysicsServer_body_set_shape_transform>`  **(** :ref:`RID<class_rid>` body, :ref:`int<class_int>` shape_idx, :ref:`Transform<class_transform>` transform  **)**                                                   |
-+----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                                           | :ref:`body_set_space<class_PhysicsServer_body_set_space>`  **(** :ref:`RID<class_rid>` body, :ref:`RID<class_rid>` space  **)**                                                                                                                        |
-+----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                                           | :ref:`body_set_state<class_PhysicsServer_body_set_state>`  **(** :ref:`RID<class_rid>` body, :ref:`int<class_int>` state, var value  **)**                                                                                                             |
-+----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`                                      | :ref:`cone_twist_joint_get_param<class_PhysicsServer_cone_twist_joint_get_param>`  **(** :ref:`RID<class_rid>` joint, :ref:`int<class_int>` param  **)** const                                                                                         |
-+----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                                           | :ref:`cone_twist_joint_set_param<class_PhysicsServer_cone_twist_joint_set_param>`  **(** :ref:`RID<class_rid>` joint, :ref:`int<class_int>` param, :ref:`float<class_float>` value  **)**                                                              |
-+----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                                           | :ref:`free_rid<class_PhysicsServer_free_rid>`  **(** :ref:`RID<class_rid>` rid  **)**                                                                                                                                                                  |
-+----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                                        | :ref:`generic_6dof_joint_get_flag<class_PhysicsServer_generic_6dof_joint_get_flag>`  **(** :ref:`RID<class_rid>` joint, :ref:`int<class_int>` axis, :ref:`int<class_int>` flag  **)**                                                                  |
-+----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`                                      | :ref:`generic_6dof_joint_get_param<class_PhysicsServer_generic_6dof_joint_get_param>`  **(** :ref:`RID<class_rid>` joint, :ref:`int<class_int>` axis, :ref:`int<class_int>` param  **)**                                                               |
-+----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                                           | :ref:`generic_6dof_joint_set_flag<class_PhysicsServer_generic_6dof_joint_set_flag>`  **(** :ref:`RID<class_rid>` joint, :ref:`int<class_int>` axis, :ref:`int<class_int>` flag, :ref:`bool<class_bool>` enable  **)**                                  |
-+----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                                           | :ref:`generic_6dof_joint_set_param<class_PhysicsServer_generic_6dof_joint_set_param>`  **(** :ref:`RID<class_rid>` joint, :ref:`int<class_int>` axis, :ref:`int<class_int>` param, :ref:`float<class_float>` value  **)**                              |
-+----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                                          | :ref:`get_process_info<class_PhysicsServer_get_process_info>`  **(** :ref:`int<class_int>` process_info  **)**                                                                                                                                         |
-+----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                                        | :ref:`hinge_joint_get_flag<class_PhysicsServer_hinge_joint_get_flag>`  **(** :ref:`RID<class_rid>` joint, :ref:`int<class_int>` flag  **)** const                                                                                                      |
-+----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`                                      | :ref:`hinge_joint_get_param<class_PhysicsServer_hinge_joint_get_param>`  **(** :ref:`RID<class_rid>` joint, :ref:`int<class_int>` param  **)** const                                                                                                   |
-+----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                                           | :ref:`hinge_joint_set_flag<class_PhysicsServer_hinge_joint_set_flag>`  **(** :ref:`RID<class_rid>` joint, :ref:`int<class_int>` flag, :ref:`bool<class_bool>` enabled  **)**                                                                           |
-+----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                                           | :ref:`hinge_joint_set_param<class_PhysicsServer_hinge_joint_set_param>`  **(** :ref:`RID<class_rid>` joint, :ref:`int<class_int>` param, :ref:`float<class_float>` value  **)**                                                                        |
-+----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`RID<class_rid>`                                          | :ref:`joint_create_cone_twist<class_PhysicsServer_joint_create_cone_twist>`  **(** :ref:`RID<class_rid>` body_A, :ref:`Transform<class_transform>` local_ref_A, :ref:`RID<class_rid>` body_B, :ref:`Transform<class_transform>` local_ref_B  **)**     |
-+----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`RID<class_rid>`                                          | :ref:`joint_create_generic_6dof<class_PhysicsServer_joint_create_generic_6dof>`  **(** :ref:`RID<class_rid>` body_A, :ref:`Transform<class_transform>` local_ref_A, :ref:`RID<class_rid>` body_B, :ref:`Transform<class_transform>` local_ref_B  **)** |
-+----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`RID<class_rid>`                                          | :ref:`joint_create_hinge<class_PhysicsServer_joint_create_hinge>`  **(** :ref:`RID<class_rid>` body_A, :ref:`Transform<class_transform>` hinge_A, :ref:`RID<class_rid>` body_B, :ref:`Transform<class_transform>` hinge_B  **)**                       |
-+----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`RID<class_rid>`                                          | :ref:`joint_create_pin<class_PhysicsServer_joint_create_pin>`  **(** :ref:`RID<class_rid>` body_A, :ref:`Vector3<class_vector3>` local_A, :ref:`RID<class_rid>` body_B, :ref:`Vector3<class_vector3>` local_B  **)**                                   |
-+----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`RID<class_rid>`                                          | :ref:`joint_create_slider<class_PhysicsServer_joint_create_slider>`  **(** :ref:`RID<class_rid>` body_A, :ref:`Transform<class_transform>` local_ref_A, :ref:`RID<class_rid>` body_B, :ref:`Transform<class_transform>` local_ref_B  **)**             |
-+----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                                          | :ref:`joint_get_solver_priority<class_PhysicsServer_joint_get_solver_priority>`  **(** :ref:`RID<class_rid>` joint  **)** const                                                                                                                        |
-+----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                                          | :ref:`joint_get_type<class_PhysicsServer_joint_get_type>`  **(** :ref:`RID<class_rid>` joint  **)** const                                                                                                                                              |
-+----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                                           | :ref:`joint_set_solver_priority<class_PhysicsServer_joint_set_solver_priority>`  **(** :ref:`RID<class_rid>` joint, :ref:`int<class_int>` priority  **)**                                                                                              |
-+----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Vector3<class_vector3>`                                  | :ref:`pin_joint_get_local_A<class_PhysicsServer_pin_joint_get_local_A>`  **(** :ref:`RID<class_rid>` joint  **)** const                                                                                                                                |
-+----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Vector3<class_vector3>`                                  | :ref:`pin_joint_get_local_B<class_PhysicsServer_pin_joint_get_local_B>`  **(** :ref:`RID<class_rid>` joint  **)** const                                                                                                                                |
-+----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`                                      | :ref:`pin_joint_get_param<class_PhysicsServer_pin_joint_get_param>`  **(** :ref:`RID<class_rid>` joint, :ref:`int<class_int>` param  **)** const                                                                                                       |
-+----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                                           | :ref:`pin_joint_set_local_A<class_PhysicsServer_pin_joint_set_local_A>`  **(** :ref:`RID<class_rid>` joint, :ref:`Vector3<class_vector3>` local_A  **)**                                                                                               |
-+----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                                           | :ref:`pin_joint_set_local_B<class_PhysicsServer_pin_joint_set_local_B>`  **(** :ref:`RID<class_rid>` joint, :ref:`Vector3<class_vector3>` local_B  **)**                                                                                               |
-+----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                                           | :ref:`pin_joint_set_param<class_PhysicsServer_pin_joint_set_param>`  **(** :ref:`RID<class_rid>` joint, :ref:`int<class_int>` param, :ref:`float<class_float>` value  **)**                                                                            |
-+----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                                           | :ref:`set_active<class_PhysicsServer_set_active>`  **(** :ref:`bool<class_bool>` active  **)**                                                                                                                                                         |
-+----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`RID<class_rid>`                                          | :ref:`shape_create<class_PhysicsServer_shape_create>`  **(** :ref:`int<class_int>` type  **)**                                                                                                                                                         |
-+----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                                           | :ref:`shape_get_data<class_PhysicsServer_shape_get_data>`  **(** :ref:`RID<class_rid>` shape  **)** const                                                                                                                                              |
-+----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                                          | :ref:`shape_get_type<class_PhysicsServer_shape_get_type>`  **(** :ref:`RID<class_rid>` shape  **)** const                                                                                                                                              |
-+----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                                           | :ref:`shape_set_data<class_PhysicsServer_shape_set_data>`  **(** :ref:`RID<class_rid>` shape, var data  **)**                                                                                                                                          |
-+----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`                                      | :ref:`slider_joint_get_param<class_PhysicsServer_slider_joint_get_param>`  **(** :ref:`RID<class_rid>` joint, :ref:`int<class_int>` param  **)** const                                                                                                 |
-+----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                                           | :ref:`slider_joint_set_param<class_PhysicsServer_slider_joint_set_param>`  **(** :ref:`RID<class_rid>` joint, :ref:`int<class_int>` param, :ref:`float<class_float>` value  **)**                                                                      |
-+----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`RID<class_rid>`                                          | :ref:`space_create<class_PhysicsServer_space_create>`  **(** **)**                                                                                                                                                                                     |
-+----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`PhysicsDirectSpaceState<class_physicsdirectspacestate>`  | :ref:`space_get_direct_state<class_PhysicsServer_space_get_direct_state>`  **(** :ref:`RID<class_rid>` space  **)**                                                                                                                                    |
-+----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`                                      | :ref:`space_get_param<class_PhysicsServer_space_get_param>`  **(** :ref:`RID<class_rid>` space, :ref:`int<class_int>` param  **)** const                                                                                                               |
-+----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                                        | :ref:`space_is_active<class_PhysicsServer_space_is_active>`  **(** :ref:`RID<class_rid>` space  **)** const                                                                                                                                            |
-+----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                                           | :ref:`space_set_active<class_PhysicsServer_space_set_active>`  **(** :ref:`RID<class_rid>` space, :ref:`bool<class_bool>` active  **)**                                                                                                                |
-+----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                                           | :ref:`space_set_param<class_PhysicsServer_space_set_param>`  **(** :ref:`RID<class_rid>` space, :ref:`int<class_int>` param, :ref:`float<class_float>` value  **)**                                                                                    |
-+----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
++----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                                           | :ref:`area_add_shape<class_PhysicsServer_area_add_shape>`  **(** :ref:`RID<class_rid>` area, :ref:`RID<class_rid>` shape, :ref:`Transform<class_transform>` transform=Transform()  **)**                                                                            |
++----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                                           | :ref:`area_attach_object_instance_ID<class_PhysicsServer_area_attach_object_instance_ID>`  **(** :ref:`RID<class_rid>` area, :ref:`int<class_int>` id  **)**                                                                                                        |
++----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                                           | :ref:`area_clear_shapes<class_PhysicsServer_area_clear_shapes>`  **(** :ref:`RID<class_rid>` area  **)**                                                                                                                                                            |
++----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`RID<class_rid>`                                          | :ref:`area_create<class_PhysicsServer_area_create>`  **(** **)**                                                                                                                                                                                                    |
++----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                                          | :ref:`area_get_object_instance_ID<class_PhysicsServer_area_get_object_instance_ID>`  **(** :ref:`RID<class_rid>` area  **)** const                                                                                                                                  |
++----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                                           | :ref:`area_get_param<class_PhysicsServer_area_get_param>`  **(** :ref:`RID<class_rid>` area, :ref:`int<class_int>` param  **)** const                                                                                                                               |
++----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`RID<class_rid>`                                          | :ref:`area_get_shape<class_PhysicsServer_area_get_shape>`  **(** :ref:`RID<class_rid>` area, :ref:`int<class_int>` shape_idx  **)** const                                                                                                                           |
++----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                                          | :ref:`area_get_shape_count<class_PhysicsServer_area_get_shape_count>`  **(** :ref:`RID<class_rid>` area  **)** const                                                                                                                                                |
++----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Transform<class_transform>`                              | :ref:`area_get_shape_transform<class_PhysicsServer_area_get_shape_transform>`  **(** :ref:`RID<class_rid>` area, :ref:`int<class_int>` shape_idx  **)** const                                                                                                       |
++----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`RID<class_rid>`                                          | :ref:`area_get_space<class_PhysicsServer_area_get_space>`  **(** :ref:`RID<class_rid>` area  **)** const                                                                                                                                                            |
++----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                                          | :ref:`area_get_space_override_mode<class_PhysicsServer_area_get_space_override_mode>`  **(** :ref:`RID<class_rid>` area  **)** const                                                                                                                                |
++----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Transform<class_transform>`                              | :ref:`area_get_transform<class_PhysicsServer_area_get_transform>`  **(** :ref:`RID<class_rid>` area  **)** const                                                                                                                                                    |
++----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                                        | :ref:`area_is_ray_pickable<class_PhysicsServer_area_is_ray_pickable>`  **(** :ref:`RID<class_rid>` area  **)** const                                                                                                                                                |
++----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                                           | :ref:`area_remove_shape<class_PhysicsServer_area_remove_shape>`  **(** :ref:`RID<class_rid>` area, :ref:`int<class_int>` shape_idx  **)**                                                                                                                           |
++----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                                           | :ref:`area_set_collision_mask<class_PhysicsServer_area_set_collision_mask>`  **(** :ref:`RID<class_rid>` area, :ref:`int<class_int>` mask  **)**                                                                                                                    |
++----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                                           | :ref:`area_set_layer_mask<class_PhysicsServer_area_set_layer_mask>`  **(** :ref:`RID<class_rid>` area, :ref:`int<class_int>` mask  **)**                                                                                                                            |
++----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                                           | :ref:`area_set_monitor_callback<class_PhysicsServer_area_set_monitor_callback>`  **(** :ref:`RID<class_rid>` area, :ref:`Object<class_object>` receiver, :ref:`String<class_string>` method  **)**                                                                  |
++----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                                           | :ref:`area_set_param<class_PhysicsServer_area_set_param>`  **(** :ref:`RID<class_rid>` area, :ref:`int<class_int>` param, :ref:`Variant<class_variant>` value  **)**                                                                                                |
++----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                                           | :ref:`area_set_ray_pickable<class_PhysicsServer_area_set_ray_pickable>`  **(** :ref:`RID<class_rid>` area, :ref:`bool<class_bool>` enable  **)**                                                                                                                    |
++----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                                           | :ref:`area_set_shape<class_PhysicsServer_area_set_shape>`  **(** :ref:`RID<class_rid>` area, :ref:`int<class_int>` shape_idx, :ref:`RID<class_rid>` shape  **)**                                                                                                    |
++----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                                           | :ref:`area_set_shape_transform<class_PhysicsServer_area_set_shape_transform>`  **(** :ref:`RID<class_rid>` area, :ref:`int<class_int>` shape_idx, :ref:`Transform<class_transform>` transform  **)**                                                                |
++----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                                           | :ref:`area_set_space<class_PhysicsServer_area_set_space>`  **(** :ref:`RID<class_rid>` area, :ref:`RID<class_rid>` space  **)**                                                                                                                                     |
++----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                                           | :ref:`area_set_space_override_mode<class_PhysicsServer_area_set_space_override_mode>`  **(** :ref:`RID<class_rid>` area, :ref:`int<class_int>` mode  **)**                                                                                                          |
++----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                                           | :ref:`area_set_transform<class_PhysicsServer_area_set_transform>`  **(** :ref:`RID<class_rid>` area, :ref:`Transform<class_transform>` transform  **)**                                                                                                             |
++----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                                           | :ref:`body_add_collision_exception<class_PhysicsServer_body_add_collision_exception>`  **(** :ref:`RID<class_rid>` body, :ref:`RID<class_rid>` excepted_body  **)**                                                                                                 |
++----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                                           | :ref:`body_add_shape<class_PhysicsServer_body_add_shape>`  **(** :ref:`RID<class_rid>` body, :ref:`RID<class_rid>` shape, :ref:`Transform<class_transform>` transform=Transform()  **)**                                                                            |
++----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                                           | :ref:`body_apply_impulse<class_PhysicsServer_body_apply_impulse>`  **(** :ref:`RID<class_rid>` body, :ref:`Vector3<class_vector3>` pos, :ref:`Vector3<class_vector3>` impulse  **)**                                                                                |
++----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                                           | :ref:`body_attach_object_instance_ID<class_PhysicsServer_body_attach_object_instance_ID>`  **(** :ref:`RID<class_rid>` body, :ref:`int<class_int>` id  **)**                                                                                                        |
++----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                                           | :ref:`body_clear_shapes<class_PhysicsServer_body_clear_shapes>`  **(** :ref:`RID<class_rid>` body  **)**                                                                                                                                                            |
++----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :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:`int<class_int>`                                          | :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_mask<class_PhysicsServer_body_get_collision_mask>`  **(** :ref:`RID<class_rid>` body, :ref:`int<class_int>` arg1  **)** const                                                                                                              |
++----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                                          | :ref:`body_get_layer_mask<class_PhysicsServer_body_get_layer_mask>`  **(** :ref:`RID<class_rid>` body, :ref:`int<class_int>` arg1  **)** const                                                                                                                      |
++----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                                          | :ref:`body_get_max_contacts_reported<class_PhysicsServer_body_get_max_contacts_reported>`  **(** :ref:`RID<class_rid>` body  **)** const                                                                                                                            |
++----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                                          | :ref:`body_get_mode<class_PhysicsServer_body_get_mode>`  **(** :ref:`RID<class_rid>` body  **)** const                                                                                                                                                              |
++----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                                          | :ref:`body_get_object_instance_ID<class_PhysicsServer_body_get_object_instance_ID>`  **(** :ref:`RID<class_rid>` body  **)** const                                                                                                                                  |
++----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`                                      | :ref:`body_get_param<class_PhysicsServer_body_get_param>`  **(** :ref:`RID<class_rid>` body, :ref:`int<class_int>` param  **)** const                                                                                                                               |
++----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`RID<class_rid>`                                          | :ref:`body_get_shape<class_PhysicsServer_body_get_shape>`  **(** :ref:`RID<class_rid>` body, :ref:`int<class_int>` shape_idx  **)** const                                                                                                                           |
++----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                                          | :ref:`body_get_shape_count<class_PhysicsServer_body_get_shape_count>`  **(** :ref:`RID<class_rid>` body  **)** const                                                                                                                                                |
++----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Transform<class_transform>`                              | :ref:`body_get_shape_transform<class_PhysicsServer_body_get_shape_transform>`  **(** :ref:`RID<class_rid>` body, :ref:`int<class_int>` shape_idx  **)** const                                                                                                       |
++----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`RID<class_rid>`                                          | :ref:`body_get_space<class_PhysicsServer_body_get_space>`  **(** :ref:`RID<class_rid>` body  **)** const                                                                                                                                                            |
++----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                                           | :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_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                                                                                                                    |
++----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                                        | :ref:`body_is_ray_pickable<class_PhysicsServer_body_is_ray_pickable>`  **(** :ref:`RID<class_rid>` body  **)** const                                                                                                                                                |
++----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                                           | :ref:`body_remove_collision_exception<class_PhysicsServer_body_remove_collision_exception>`  **(** :ref:`RID<class_rid>` body, :ref:`RID<class_rid>` excepted_body  **)**                                                                                           |
++----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                                           | :ref:`body_remove_shape<class_PhysicsServer_body_remove_shape>`  **(** :ref:`RID<class_rid>` body, :ref:`int<class_int>` shape_idx  **)**                                                                                                                           |
++----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                                           | :ref:`body_set_axis_lock<class_PhysicsServer_body_set_axis_lock>`  **(** :ref:`RID<class_rid>` body, :ref:`int<class_int>` axis  **)**                                                                                                                              |
++----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                                           | :ref:`body_set_axis_velocity<class_PhysicsServer_body_set_axis_velocity>`  **(** :ref:`RID<class_rid>` body, :ref:`Vector3<class_vector3>` axis_velocity  **)**                                                                                                     |
++----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                                           | :ref:`body_set_collision_mask<class_PhysicsServer_body_set_collision_mask>`  **(** :ref:`RID<class_rid>` body, :ref:`int<class_int>` mask  **)**                                                                                                                    |
++----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                                           | :ref:`body_set_enable_continuous_collision_detection<class_PhysicsServer_body_set_enable_continuous_collision_detection>`  **(** :ref:`RID<class_rid>` body, :ref:`bool<class_bool>` enable  **)**                                                                  |
++----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                                           | :ref:`body_set_force_integration_callback<class_PhysicsServer_body_set_force_integration_callback>`  **(** :ref:`RID<class_rid>` body, :ref:`Object<class_object>` receiver, :ref:`String<class_string>` method, :ref:`Variant<class_variant>` userdata=NULL  **)** |
++----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                                           | :ref:`body_set_layer_mask<class_PhysicsServer_body_set_layer_mask>`  **(** :ref:`RID<class_rid>` body, :ref:`int<class_int>` mask  **)**                                                                                                                            |
++----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                                           | :ref:`body_set_max_contacts_reported<class_PhysicsServer_body_set_max_contacts_reported>`  **(** :ref:`RID<class_rid>` body, :ref:`int<class_int>` amount  **)**                                                                                                    |
++----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                                           | :ref:`body_set_mode<class_PhysicsServer_body_set_mode>`  **(** :ref:`RID<class_rid>` body, :ref:`int<class_int>` mode  **)**                                                                                                                                        |
++----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                                           | :ref:`body_set_omit_force_integration<class_PhysicsServer_body_set_omit_force_integration>`  **(** :ref:`RID<class_rid>` body, :ref:`bool<class_bool>` enable  **)**                                                                                                |
++----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                                           | :ref:`body_set_param<class_PhysicsServer_body_set_param>`  **(** :ref:`RID<class_rid>` body, :ref:`int<class_int>` param, :ref:`float<class_float>` value  **)**                                                                                                    |
++----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                                           | :ref:`body_set_ray_pickable<class_PhysicsServer_body_set_ray_pickable>`  **(** :ref:`RID<class_rid>` body, :ref:`bool<class_bool>` enable  **)**                                                                                                                    |
++----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                                           | :ref:`body_set_shape<class_PhysicsServer_body_set_shape>`  **(** :ref:`RID<class_rid>` body, :ref:`int<class_int>` shape_idx, :ref:`RID<class_rid>` shape  **)**                                                                                                    |
++----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                                           | :ref:`body_set_shape_transform<class_PhysicsServer_body_set_shape_transform>`  **(** :ref:`RID<class_rid>` body, :ref:`int<class_int>` shape_idx, :ref:`Transform<class_transform>` transform  **)**                                                                |
++----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                                           | :ref:`body_set_space<class_PhysicsServer_body_set_space>`  **(** :ref:`RID<class_rid>` body, :ref:`RID<class_rid>` space  **)**                                                                                                                                     |
++----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                                           | :ref:`body_set_state<class_PhysicsServer_body_set_state>`  **(** :ref:`RID<class_rid>` body, :ref:`int<class_int>` state, :ref:`Variant<class_variant>` value  **)**                                                                                                |
++----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`                                      | :ref:`cone_twist_joint_get_param<class_PhysicsServer_cone_twist_joint_get_param>`  **(** :ref:`RID<class_rid>` joint, :ref:`int<class_int>` param  **)** const                                                                                                      |
++----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                                           | :ref:`cone_twist_joint_set_param<class_PhysicsServer_cone_twist_joint_set_param>`  **(** :ref:`RID<class_rid>` joint, :ref:`int<class_int>` param, :ref:`float<class_float>` value  **)**                                                                           |
++----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                                           | :ref:`free_rid<class_PhysicsServer_free_rid>`  **(** :ref:`RID<class_rid>` rid  **)**                                                                                                                                                                               |
++----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                                        | :ref:`generic_6dof_joint_get_flag<class_PhysicsServer_generic_6dof_joint_get_flag>`  **(** :ref:`RID<class_rid>` joint, :ref:`int<class_int>` axis, :ref:`int<class_int>` flag  **)**                                                                               |
++----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`                                      | :ref:`generic_6dof_joint_get_param<class_PhysicsServer_generic_6dof_joint_get_param>`  **(** :ref:`RID<class_rid>` joint, :ref:`int<class_int>` axis, :ref:`int<class_int>` param  **)**                                                                            |
++----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                                           | :ref:`generic_6dof_joint_set_flag<class_PhysicsServer_generic_6dof_joint_set_flag>`  **(** :ref:`RID<class_rid>` joint, :ref:`int<class_int>` axis, :ref:`int<class_int>` flag, :ref:`bool<class_bool>` enable  **)**                                               |
++----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                                           | :ref:`generic_6dof_joint_set_param<class_PhysicsServer_generic_6dof_joint_set_param>`  **(** :ref:`RID<class_rid>` joint, :ref:`int<class_int>` axis, :ref:`int<class_int>` param, :ref:`float<class_float>` value  **)**                                           |
++----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                                          | :ref:`get_process_info<class_PhysicsServer_get_process_info>`  **(** :ref:`int<class_int>` process_info  **)**                                                                                                                                                      |
++----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                                        | :ref:`hinge_joint_get_flag<class_PhysicsServer_hinge_joint_get_flag>`  **(** :ref:`RID<class_rid>` joint, :ref:`int<class_int>` flag  **)** const                                                                                                                   |
++----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`                                      | :ref:`hinge_joint_get_param<class_PhysicsServer_hinge_joint_get_param>`  **(** :ref:`RID<class_rid>` joint, :ref:`int<class_int>` param  **)** const                                                                                                                |
++----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                                           | :ref:`hinge_joint_set_flag<class_PhysicsServer_hinge_joint_set_flag>`  **(** :ref:`RID<class_rid>` joint, :ref:`int<class_int>` flag, :ref:`bool<class_bool>` enabled  **)**                                                                                        |
++----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                                           | :ref:`hinge_joint_set_param<class_PhysicsServer_hinge_joint_set_param>`  **(** :ref:`RID<class_rid>` joint, :ref:`int<class_int>` param, :ref:`float<class_float>` value  **)**                                                                                     |
++----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`RID<class_rid>`                                          | :ref:`joint_create_cone_twist<class_PhysicsServer_joint_create_cone_twist>`  **(** :ref:`RID<class_rid>` body_A, :ref:`Transform<class_transform>` local_ref_A, :ref:`RID<class_rid>` body_B, :ref:`Transform<class_transform>` local_ref_B  **)**                  |
++----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`RID<class_rid>`                                          | :ref:`joint_create_generic_6dof<class_PhysicsServer_joint_create_generic_6dof>`  **(** :ref:`RID<class_rid>` body_A, :ref:`Transform<class_transform>` local_ref_A, :ref:`RID<class_rid>` body_B, :ref:`Transform<class_transform>` local_ref_B  **)**              |
++----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`RID<class_rid>`                                          | :ref:`joint_create_hinge<class_PhysicsServer_joint_create_hinge>`  **(** :ref:`RID<class_rid>` body_A, :ref:`Transform<class_transform>` hinge_A, :ref:`RID<class_rid>` body_B, :ref:`Transform<class_transform>` hinge_B  **)**                                    |
++----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`RID<class_rid>`                                          | :ref:`joint_create_pin<class_PhysicsServer_joint_create_pin>`  **(** :ref:`RID<class_rid>` body_A, :ref:`Vector3<class_vector3>` local_A, :ref:`RID<class_rid>` body_B, :ref:`Vector3<class_vector3>` local_B  **)**                                                |
++----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`RID<class_rid>`                                          | :ref:`joint_create_slider<class_PhysicsServer_joint_create_slider>`  **(** :ref:`RID<class_rid>` body_A, :ref:`Transform<class_transform>` local_ref_A, :ref:`RID<class_rid>` body_B, :ref:`Transform<class_transform>` local_ref_B  **)**                          |
++----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                                          | :ref:`joint_get_solver_priority<class_PhysicsServer_joint_get_solver_priority>`  **(** :ref:`RID<class_rid>` joint  **)** const                                                                                                                                     |
++----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                                          | :ref:`joint_get_type<class_PhysicsServer_joint_get_type>`  **(** :ref:`RID<class_rid>` joint  **)** const                                                                                                                                                           |
++----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                                           | :ref:`joint_set_solver_priority<class_PhysicsServer_joint_set_solver_priority>`  **(** :ref:`RID<class_rid>` joint, :ref:`int<class_int>` priority  **)**                                                                                                           |
++----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Vector3<class_vector3>`                                  | :ref:`pin_joint_get_local_A<class_PhysicsServer_pin_joint_get_local_A>`  **(** :ref:`RID<class_rid>` joint  **)** const                                                                                                                                             |
++----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Vector3<class_vector3>`                                  | :ref:`pin_joint_get_local_B<class_PhysicsServer_pin_joint_get_local_B>`  **(** :ref:`RID<class_rid>` joint  **)** const                                                                                                                                             |
++----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`                                      | :ref:`pin_joint_get_param<class_PhysicsServer_pin_joint_get_param>`  **(** :ref:`RID<class_rid>` joint, :ref:`int<class_int>` param  **)** const                                                                                                                    |
++----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                                           | :ref:`pin_joint_set_local_A<class_PhysicsServer_pin_joint_set_local_A>`  **(** :ref:`RID<class_rid>` joint, :ref:`Vector3<class_vector3>` local_A  **)**                                                                                                            |
++----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                                           | :ref:`pin_joint_set_local_B<class_PhysicsServer_pin_joint_set_local_B>`  **(** :ref:`RID<class_rid>` joint, :ref:`Vector3<class_vector3>` local_B  **)**                                                                                                            |
++----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                                           | :ref:`pin_joint_set_param<class_PhysicsServer_pin_joint_set_param>`  **(** :ref:`RID<class_rid>` joint, :ref:`int<class_int>` param, :ref:`float<class_float>` value  **)**                                                                                         |
++----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                                           | :ref:`set_active<class_PhysicsServer_set_active>`  **(** :ref:`bool<class_bool>` active  **)**                                                                                                                                                                      |
++----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`RID<class_rid>`                                          | :ref:`shape_create<class_PhysicsServer_shape_create>`  **(** :ref:`int<class_int>` type  **)**                                                                                                                                                                      |
++----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                                           | :ref:`shape_get_data<class_PhysicsServer_shape_get_data>`  **(** :ref:`RID<class_rid>` shape  **)** const                                                                                                                                                           |
++----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                                          | :ref:`shape_get_type<class_PhysicsServer_shape_get_type>`  **(** :ref:`RID<class_rid>` shape  **)** const                                                                                                                                                           |
++----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                                           | :ref:`shape_set_data<class_PhysicsServer_shape_set_data>`  **(** :ref:`RID<class_rid>` shape, :ref:`Variant<class_variant>` data  **)**                                                                                                                             |
++----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`                                      | :ref:`slider_joint_get_param<class_PhysicsServer_slider_joint_get_param>`  **(** :ref:`RID<class_rid>` joint, :ref:`int<class_int>` param  **)** const                                                                                                              |
++----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                                           | :ref:`slider_joint_set_param<class_PhysicsServer_slider_joint_set_param>`  **(** :ref:`RID<class_rid>` joint, :ref:`int<class_int>` param, :ref:`float<class_float>` value  **)**                                                                                   |
++----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`RID<class_rid>`                                          | :ref:`space_create<class_PhysicsServer_space_create>`  **(** **)**                                                                                                                                                                                                  |
++----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`PhysicsDirectSpaceState<class_physicsdirectspacestate>`  | :ref:`space_get_direct_state<class_PhysicsServer_space_get_direct_state>`  **(** :ref:`RID<class_rid>` space  **)**                                                                                                                                                 |
++----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`                                      | :ref:`space_get_param<class_PhysicsServer_space_get_param>`  **(** :ref:`RID<class_rid>` space, :ref:`int<class_int>` param  **)** const                                                                                                                            |
++----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                                        | :ref:`space_is_active<class_PhysicsServer_space_is_active>`  **(** :ref:`RID<class_rid>` space  **)** const                                                                                                                                                         |
++----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                                           | :ref:`space_set_active<class_PhysicsServer_space_set_active>`  **(** :ref:`RID<class_rid>` space, :ref:`bool<class_bool>` active  **)**                                                                                                                             |
++----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                                           | :ref:`space_set_param<class_PhysicsServer_space_set_param>`  **(** :ref:`RID<class_rid>` space, :ref:`int<class_int>` param, :ref:`float<class_float>` value  **)**                                                                                                 |
++----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 
 Numeric Constants
 -----------------
@@ -381,13 +393,21 @@ Member Function Description
 
 - void  **area_remove_shape**  **(** :ref:`RID<class_rid>` area, :ref:`int<class_int>` shape_idx  **)**
 
+.. _class_PhysicsServer_area_set_collision_mask:
+
+- void  **area_set_collision_mask**  **(** :ref:`RID<class_rid>` area, :ref:`int<class_int>` mask  **)**
+
+.. _class_PhysicsServer_area_set_layer_mask:
+
+- void  **area_set_layer_mask**  **(** :ref:`RID<class_rid>` area, :ref:`int<class_int>` mask  **)**
+
 .. _class_PhysicsServer_area_set_monitor_callback:
 
 - void  **area_set_monitor_callback**  **(** :ref:`RID<class_rid>` area, :ref:`Object<class_object>` receiver, :ref:`String<class_string>` method  **)**
 
 .. _class_PhysicsServer_area_set_param:
 
-- void  **area_set_param**  **(** :ref:`RID<class_rid>` area, :ref:`int<class_int>` param, var value  **)**
+- void  **area_set_param**  **(** :ref:`RID<class_rid>` area, :ref:`int<class_int>` param, :ref:`Variant<class_variant>` value  **)**
 
 .. _class_PhysicsServer_area_set_ray_pickable:
 
@@ -441,6 +461,14 @@ Member Function Description
 
 - :ref:`int<class_int>`  **body_get_axis_lock**  **(** :ref:`RID<class_rid>` body  **)** const
 
+.. _class_PhysicsServer_body_get_collision_mask:
+
+- :ref:`int<class_int>`  **body_get_collision_mask**  **(** :ref:`RID<class_rid>` body, :ref:`int<class_int>` arg1  **)** const
+
+.. _class_PhysicsServer_body_get_layer_mask:
+
+- :ref:`int<class_int>`  **body_get_layer_mask**  **(** :ref:`RID<class_rid>` body, :ref:`int<class_int>` arg1  **)** const
+
 .. _class_PhysicsServer_body_get_max_contacts_reported:
 
 - :ref:`int<class_int>`  **body_get_max_contacts_reported**  **(** :ref:`RID<class_rid>` body  **)** const
@@ -505,13 +533,21 @@ Member Function Description
 
 - void  **body_set_axis_velocity**  **(** :ref:`RID<class_rid>` body, :ref:`Vector3<class_vector3>` axis_velocity  **)**
 
+.. _class_PhysicsServer_body_set_collision_mask:
+
+- void  **body_set_collision_mask**  **(** :ref:`RID<class_rid>` body, :ref:`int<class_int>` mask  **)**
+
 .. _class_PhysicsServer_body_set_enable_continuous_collision_detection:
 
 - void  **body_set_enable_continuous_collision_detection**  **(** :ref:`RID<class_rid>` body, :ref:`bool<class_bool>` enable  **)**
 
 .. _class_PhysicsServer_body_set_force_integration_callback:
 
-- void  **body_set_force_integration_callback**  **(** :ref:`RID<class_rid>` body, :ref:`Object<class_object>` receiver, :ref:`String<class_string>` method, var userdata=NULL  **)**
+- void  **body_set_force_integration_callback**  **(** :ref:`RID<class_rid>` body, :ref:`Object<class_object>` receiver, :ref:`String<class_string>` method, :ref:`Variant<class_variant>` userdata=NULL  **)**
+
+.. _class_PhysicsServer_body_set_layer_mask:
+
+- void  **body_set_layer_mask**  **(** :ref:`RID<class_rid>` body, :ref:`int<class_int>` mask  **)**
 
 .. _class_PhysicsServer_body_set_max_contacts_reported:
 
@@ -547,7 +583,7 @@ Member Function Description
 
 .. _class_PhysicsServer_body_set_state:
 
-- void  **body_set_state**  **(** :ref:`RID<class_rid>` body, :ref:`int<class_int>` state, var value  **)**
+- void  **body_set_state**  **(** :ref:`RID<class_rid>` body, :ref:`int<class_int>` state, :ref:`Variant<class_variant>` value  **)**
 
 .. _class_PhysicsServer_cone_twist_joint_get_param:
 
@@ -671,7 +707,7 @@ Member Function Description
 
 .. _class_PhysicsServer_shape_set_data:
 
-- void  **shape_set_data**  **(** :ref:`RID<class_rid>` shape, var data  **)**
+- void  **shape_set_data**  **(** :ref:`RID<class_rid>` shape, :ref:`Variant<class_variant>` data  **)**
 
 .. _class_PhysicsServer_slider_joint_get_param:
 

+ 59 - 41
classes/class_polygon2d.rst

@@ -18,47 +18,51 @@ Brief Description
 Member Functions
 ----------------
 
-+------------------------------------------+----------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Color<class_color>`                | :ref:`get_color<class_Polygon2D_get_color>`  **(** **)** const                                                             |
-+------------------------------------------+----------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                  | :ref:`get_invert<class_Polygon2D_get_invert>`  **(** **)** const                                                           |
-+------------------------------------------+----------------------------------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`                | :ref:`get_invert_border<class_Polygon2D_get_invert_border>`  **(** **)** const                                             |
-+------------------------------------------+----------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Vector2<class_vector2>`            | :ref:`get_offset<class_Polygon2D_get_offset>`  **(** **)** const                                                           |
-+------------------------------------------+----------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Vector2Array<class_vector2array>`  | :ref:`get_polygon<class_Polygon2D_get_polygon>`  **(** **)** const                                                         |
-+------------------------------------------+----------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Object<class_object>`              | :ref:`get_texture<class_Polygon2D_get_texture>`  **(** **)** const                                                         |
-+------------------------------------------+----------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Vector2<class_vector2>`            | :ref:`get_texture_offset<class_Polygon2D_get_texture_offset>`  **(** **)** const                                           |
-+------------------------------------------+----------------------------------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`                | :ref:`get_texture_rotation<class_Polygon2D_get_texture_rotation>`  **(** **)** const                                       |
-+------------------------------------------+----------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Vector2<class_vector2>`            | :ref:`get_texture_scale<class_Polygon2D_get_texture_scale>`  **(** **)** const                                             |
-+------------------------------------------+----------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Vector2Array<class_vector2array>`  | :ref:`get_uv<class_Polygon2D_get_uv>`  **(** **)** const                                                                   |
-+------------------------------------------+----------------------------------------------------------------------------------------------------------------------------+
-| void                                     | :ref:`set_color<class_Polygon2D_set_color>`  **(** :ref:`Color<class_color>` color  **)**                                  |
-+------------------------------------------+----------------------------------------------------------------------------------------------------------------------------+
-| void                                     | :ref:`set_invert<class_Polygon2D_set_invert>`  **(** :ref:`bool<class_bool>` invert  **)**                                 |
-+------------------------------------------+----------------------------------------------------------------------------------------------------------------------------+
-| void                                     | :ref:`set_invert_border<class_Polygon2D_set_invert_border>`  **(** :ref:`float<class_float>` invert_border  **)**          |
-+------------------------------------------+----------------------------------------------------------------------------------------------------------------------------+
-| void                                     | :ref:`set_offset<class_Polygon2D_set_offset>`  **(** :ref:`Vector2<class_vector2>` offset  **)**                           |
-+------------------------------------------+----------------------------------------------------------------------------------------------------------------------------+
-| void                                     | :ref:`set_polygon<class_Polygon2D_set_polygon>`  **(** :ref:`Vector2Array<class_vector2array>` polygon  **)**              |
-+------------------------------------------+----------------------------------------------------------------------------------------------------------------------------+
-| void                                     | :ref:`set_texture<class_Polygon2D_set_texture>`  **(** :ref:`Object<class_object>` texture  **)**                          |
-+------------------------------------------+----------------------------------------------------------------------------------------------------------------------------+
-| void                                     | :ref:`set_texture_offset<class_Polygon2D_set_texture_offset>`  **(** :ref:`Vector2<class_vector2>` texture_offset  **)**   |
-+------------------------------------------+----------------------------------------------------------------------------------------------------------------------------+
-| void                                     | :ref:`set_texture_rotation<class_Polygon2D_set_texture_rotation>`  **(** :ref:`float<class_float>` texture_rotation  **)** |
-+------------------------------------------+----------------------------------------------------------------------------------------------------------------------------+
-| void                                     | :ref:`set_texture_scale<class_Polygon2D_set_texture_scale>`  **(** :ref:`Vector2<class_vector2>` texture_scale  **)**      |
-+------------------------------------------+----------------------------------------------------------------------------------------------------------------------------+
-| void                                     | :ref:`set_uv<class_Polygon2D_set_uv>`  **(** :ref:`Vector2Array<class_vector2array>` uv  **)**                             |
-+------------------------------------------+----------------------------------------------------------------------------------------------------------------------------+
++------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Color<class_color>`                | :ref:`get_color<class_Polygon2D_get_color>`  **(** **)** const                                                              |
++------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                  | :ref:`get_invert<class_Polygon2D_get_invert>`  **(** **)** const                                                            |
++------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`                | :ref:`get_invert_border<class_Polygon2D_get_invert_border>`  **(** **)** const                                              |
++------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Vector2<class_vector2>`            | :ref:`get_offset<class_Polygon2D_get_offset>`  **(** **)** const                                                            |
++------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Vector2Array<class_vector2array>`  | :ref:`get_polygon<class_Polygon2D_get_polygon>`  **(** **)** const                                                          |
++------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Object<class_object>`              | :ref:`get_texture<class_Polygon2D_get_texture>`  **(** **)** const                                                          |
++------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Vector2<class_vector2>`            | :ref:`get_texture_offset<class_Polygon2D_get_texture_offset>`  **(** **)** const                                            |
++------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`                | :ref:`get_texture_rotation<class_Polygon2D_get_texture_rotation>`  **(** **)** const                                        |
++------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Vector2<class_vector2>`            | :ref:`get_texture_scale<class_Polygon2D_get_texture_scale>`  **(** **)** const                                              |
++------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Vector2Array<class_vector2array>`  | :ref:`get_uv<class_Polygon2D_get_uv>`  **(** **)** const                                                                    |
++------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+
+| :ref:`ColorArray<class_colorarray>`      | :ref:`get_vertex_colors<class_Polygon2D_get_vertex_colors>`  **(** **)** const                                              |
++------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+
+| void                                     | :ref:`set_color<class_Polygon2D_set_color>`  **(** :ref:`Color<class_color>` color  **)**                                   |
++------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+
+| void                                     | :ref:`set_invert<class_Polygon2D_set_invert>`  **(** :ref:`bool<class_bool>` invert  **)**                                  |
++------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+
+| void                                     | :ref:`set_invert_border<class_Polygon2D_set_invert_border>`  **(** :ref:`float<class_float>` invert_border  **)**           |
++------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+
+| void                                     | :ref:`set_offset<class_Polygon2D_set_offset>`  **(** :ref:`Vector2<class_vector2>` offset  **)**                            |
++------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+
+| void                                     | :ref:`set_polygon<class_Polygon2D_set_polygon>`  **(** :ref:`Vector2Array<class_vector2array>` polygon  **)**               |
++------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+
+| void                                     | :ref:`set_texture<class_Polygon2D_set_texture>`  **(** :ref:`Object<class_object>` texture  **)**                           |
++------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+
+| void                                     | :ref:`set_texture_offset<class_Polygon2D_set_texture_offset>`  **(** :ref:`Vector2<class_vector2>` texture_offset  **)**    |
++------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+
+| void                                     | :ref:`set_texture_rotation<class_Polygon2D_set_texture_rotation>`  **(** :ref:`float<class_float>` texture_rotation  **)**  |
++------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+
+| void                                     | :ref:`set_texture_scale<class_Polygon2D_set_texture_scale>`  **(** :ref:`Vector2<class_vector2>` texture_scale  **)**       |
++------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+
+| void                                     | :ref:`set_uv<class_Polygon2D_set_uv>`  **(** :ref:`Vector2Array<class_vector2array>` uv  **)**                              |
++------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+
+| void                                     | :ref:`set_vertex_colors<class_Polygon2D_set_vertex_colors>`  **(** :ref:`ColorArray<class_colorarray>` vertex_colors  **)** |
++------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+
 
 Description
 -----------
@@ -128,6 +132,12 @@ Return the uv coordinate multiplier.
 
 Return the texture coordinates associated with every vertex of the polygon.
 
+.. _class_Polygon2D_get_vertex_colors:
+
+- :ref:`ColorArray<class_colorarray>`  **get_vertex_colors**  **(** **)** const
+
+Return the list of vertex colors.
+
 .. _class_Polygon2D_set_color:
 
 - void  **set_color**  **(** :ref:`Color<class_color>` color  **)**
@@ -188,4 +198,12 @@ Set the value that will multiply the uv coordinates (:ref:`get_uv<class_Polygon2
 
 Set the texture coordinates for every vertex of the polygon. There should be one uv vertex for every vertex in the polygon. If there are less, the undefined ones will be assumed to be (0,0). Extra uv vertices are ignored.
 
+.. _class_Polygon2D_set_vertex_colors:
+
+- void  **set_vertex_colors**  **(** :ref:`ColorArray<class_colorarray>` vertex_colors  **)**
+
+Set the color for each vertex of the polygon. There should be one color for every vertex in the polygon. If there are less, the undefined ones will be assumed to be :ref:`get_color<class_Polygon2D_get_color>`. Extra color entries are ignored.
+
+Colors are interpolated between vertices, resulting in smooth gradients when they differ.
+
 

+ 15 - 15
classes/class_popup.rst

@@ -20,19 +20,19 @@ Base container control for popups and dialogs.
 Member Functions
 ----------------
 
-+--------------------------+------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`  | :ref:`is_exclusive<class_Popup_is_exclusive>`  **(** **)** const                                                                   |
-+--------------------------+------------------------------------------------------------------------------------------------------------------------------------+
-| void                     | :ref:`popup<class_Popup_popup>`  **(** **)**                                                                                       |
-+--------------------------+------------------------------------------------------------------------------------------------------------------------------------+
-| void                     | :ref:`popup_centered<class_Popup_popup_centered>`  **(** :ref:`Vector2<class_vector2>` size=Vector2(0,0)  **)**                    |
-+--------------------------+------------------------------------------------------------------------------------------------------------------------------------+
-| void                     | :ref:`popup_centered_minsize<class_Popup_popup_centered_minsize>`  **(** :ref:`Vector2<class_vector2>` minsize=Vector2(0,0)  **)** |
-+--------------------------+------------------------------------------------------------------------------------------------------------------------------------+
-| void                     | :ref:`popup_centered_ratio<class_Popup_popup_centered_ratio>`  **(** :ref:`float<class_float>` ratio=0.75  **)**                   |
-+--------------------------+------------------------------------------------------------------------------------------------------------------------------------+
-| void                     | :ref:`set_exclusive<class_Popup_set_exclusive>`  **(** :ref:`bool<class_bool>` enable  **)**                                       |
-+--------------------------+------------------------------------------------------------------------------------------------------------------------------------+
++--------------------------+---------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`  | :ref:`is_exclusive<class_Popup_is_exclusive>`  **(** **)** const                                                                      |
++--------------------------+---------------------------------------------------------------------------------------------------------------------------------------+
+| void                     | :ref:`popup<class_Popup_popup>`  **(** **)**                                                                                          |
++--------------------------+---------------------------------------------------------------------------------------------------------------------------------------+
+| void                     | :ref:`popup_centered<class_Popup_popup_centered>`  **(** :ref:`Vector2<class_vector2>` size=Vector2((0, 0))  **)**                    |
++--------------------------+---------------------------------------------------------------------------------------------------------------------------------------+
+| void                     | :ref:`popup_centered_minsize<class_Popup_popup_centered_minsize>`  **(** :ref:`Vector2<class_vector2>` minsize=Vector2((0, 0))  **)** |
++--------------------------+---------------------------------------------------------------------------------------------------------------------------------------+
+| void                     | :ref:`popup_centered_ratio<class_Popup_popup_centered_ratio>`  **(** :ref:`float<class_float>` ratio=0.75  **)**                      |
++--------------------------+---------------------------------------------------------------------------------------------------------------------------------------+
+| void                     | :ref:`set_exclusive<class_Popup_set_exclusive>`  **(** :ref:`bool<class_bool>` enable  **)**                                          |
++--------------------------+---------------------------------------------------------------------------------------------------------------------------------------+
 
 Signals
 -------
@@ -68,13 +68,13 @@ Popup (show the control in modal form).
 
 .. _class_Popup_popup_centered:
 
-- void  **popup_centered**  **(** :ref:`Vector2<class_vector2>` size=Vector2(0,0)  **)**
+- void  **popup_centered**  **(** :ref:`Vector2<class_vector2>` size=Vector2((0, 0))  **)**
 
 Popup (show the control in modal form) in the center of the screen, at the current size, or at a size determined by "size".
 
 .. _class_Popup_popup_centered_minsize:
 
-- void  **popup_centered_minsize**  **(** :ref:`Vector2<class_vector2>` minsize=Vector2(0,0)  **)**
+- void  **popup_centered_minsize**  **(** :ref:`Vector2<class_vector2>` minsize=Vector2((0, 0))  **)**
 
 Popup (show the control in modal form) in the center of the screen, ensuring the size is never smaller than ``minsize``.
 

+ 98 - 62
classes/class_popupmenu.rst

@@ -18,67 +18,79 @@ PopupMenu displays a list of options.
 Member Functions
 ----------------
 
-+------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                         | :ref:`add_check_item<class_PopupMenu_add_check_item>`  **(** :ref:`String<class_string>` label, :ref:`int<class_int>` id=-1, :ref:`int<class_int>` accel=0  **)**                                                |
-+------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                         | :ref:`add_icon_check_item<class_PopupMenu_add_icon_check_item>`  **(** :ref:`Object<class_object>` texture, :ref:`String<class_string>` label, :ref:`int<class_int>` id=-1, :ref:`int<class_int>` accel=0  **)** |
-+------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                         | :ref:`add_icon_item<class_PopupMenu_add_icon_item>`  **(** :ref:`Object<class_object>` texture, :ref:`String<class_string>` label, :ref:`int<class_int>` id=-1, :ref:`int<class_int>` accel=0  **)**             |
-+------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                         | :ref:`add_item<class_PopupMenu_add_item>`  **(** :ref:`String<class_string>` label, :ref:`int<class_int>` id=-1, :ref:`int<class_int>` accel=0  **)**                                                            |
-+------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                         | :ref:`add_separator<class_PopupMenu_add_separator>`  **(** **)**                                                                                                                                                 |
-+------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                         | :ref:`add_submenu_item<class_PopupMenu_add_submenu_item>`  **(** :ref:`String<class_string>` label, :ref:`String<class_string>` submenu, :ref:`int<class_int>` id=-1  **)**                                      |
-+------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                         | :ref:`clear<class_PopupMenu_clear>`  **(** **)**                                                                                                                                                                 |
-+------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`        | :ref:`get_item_ID<class_PopupMenu_get_item_ID>`  **(** :ref:`int<class_int>` idx  **)** const                                                                                                                    |
-+------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`        | :ref:`get_item_accelerator<class_PopupMenu_get_item_accelerator>`  **(** :ref:`int<class_int>` idx  **)** const                                                                                                  |
-+------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`        | :ref:`get_item_count<class_PopupMenu_get_item_count>`  **(** **)** const                                                                                                                                         |
-+------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Object<class_object>`  | :ref:`get_item_icon<class_PopupMenu_get_item_icon>`  **(** :ref:`int<class_int>` idx  **)** const                                                                                                                |
-+------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`        | :ref:`get_item_index<class_PopupMenu_get_item_index>`  **(** :ref:`int<class_int>` id  **)** const                                                                                                               |
-+------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                         | :ref:`get_item_metadata<class_PopupMenu_get_item_metadata>`  **(** :ref:`int<class_int>` idx  **)** const                                                                                                        |
-+------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_string>`  | :ref:`get_item_submenu<class_PopupMenu_get_item_submenu>`  **(** :ref:`int<class_int>` idx  **)** const                                                                                                          |
-+------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_string>`  | :ref:`get_item_text<class_PopupMenu_get_item_text>`  **(** :ref:`int<class_int>` idx  **)** 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                                                                                                            |
-+------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`      | :ref:`is_item_disabled<class_PopupMenu_is_item_disabled>`  **(** :ref:`int<class_int>` idx  **)** const                                                                                                          |
-+------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`      | :ref:`is_item_separator<class_PopupMenu_is_item_separator>`  **(** :ref:`int<class_int>` idx  **)** const                                                                                                        |
-+------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                         | :ref:`remove_item<class_PopupMenu_remove_item>`  **(** :ref:`int<class_int>` idx  **)**                                                                                                                          |
-+------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                         | :ref:`set_item_ID<class_PopupMenu_set_item_ID>`  **(** :ref:`int<class_int>` idx, :ref:`int<class_int>` id  **)**                                                                                                |
-+------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| 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  **)**                                                                      |
-+------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                         | :ref:`set_item_as_separator<class_PopupMenu_set_item_as_separator>`  **(** :ref:`int<class_int>` idx, :ref:`bool<class_bool>` enable  **)**                                                                      |
-+------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                         | :ref:`set_item_checked<class_PopupMenu_set_item_checked>`  **(** :ref:`int<class_int>` idx, :ref:`bool<class_bool>` checked  **)**                                                                               |
-+------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                         | :ref:`set_item_disabled<class_PopupMenu_set_item_disabled>`  **(** :ref:`int<class_int>` idx, :ref:`bool<class_bool>` disabled  **)**                                                                            |
-+------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                         | :ref:`set_item_icon<class_PopupMenu_set_item_icon>`  **(** :ref:`int<class_int>` idx, :ref:`Object<class_object>` icon  **)**                                                                                    |
-+------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                         | :ref:`set_item_metadata<class_PopupMenu_set_item_metadata>`  **(** :ref:`int<class_int>` idx, var metadata  **)**                                                                                                |
-+------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                         | :ref:`set_item_submenu<class_PopupMenu_set_item_submenu>`  **(** :ref:`int<class_int>` idx, :ref:`String<class_string>` submenu  **)**                                                                           |
-+------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                         | :ref:`set_item_text<class_PopupMenu_set_item_text>`  **(** :ref:`int<class_int>` idx, :ref:`String<class_string>` text  **)**                                                                                    |
-+------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
++----------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                             | :ref:`add_check_item<class_PopupMenu_add_check_item>`  **(** :ref:`String<class_string>` label, :ref:`int<class_int>` id=-1, :ref:`int<class_int>` accel=0  **)**                                                |
++----------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                             | :ref:`add_check_shortcut<class_PopupMenu_add_check_shortcut>`  **(** :ref:`ShortCut<class_shortcut>` shortcut, :ref:`int<class_int>` id=-1  **)**                                                                |
++----------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                             | :ref:`add_icon_check_item<class_PopupMenu_add_icon_check_item>`  **(** :ref:`Object<class_object>` texture, :ref:`String<class_string>` label, :ref:`int<class_int>` id=-1, :ref:`int<class_int>` accel=0  **)** |
++----------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                             | :ref:`add_icon_check_shortcut<class_PopupMenu_add_icon_check_shortcut>`  **(** :ref:`Object<class_object>` texture, :ref:`ShortCut<class_shortcut>` shortcut, :ref:`int<class_int>` id=-1  **)**                 |
++----------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                             | :ref:`add_icon_item<class_PopupMenu_add_icon_item>`  **(** :ref:`Object<class_object>` texture, :ref:`String<class_string>` label, :ref:`int<class_int>` id=-1, :ref:`int<class_int>` accel=0  **)**             |
++----------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                             | :ref:`add_icon_shortcut<class_PopupMenu_add_icon_shortcut>`  **(** :ref:`Object<class_object>` texture, :ref:`ShortCut<class_shortcut>` shortcut, :ref:`int<class_int>` id=-1  **)**                             |
++----------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                             | :ref:`add_item<class_PopupMenu_add_item>`  **(** :ref:`String<class_string>` label, :ref:`int<class_int>` id=-1, :ref:`int<class_int>` accel=0  **)**                                                            |
++----------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                             | :ref:`add_separator<class_PopupMenu_add_separator>`  **(** **)**                                                                                                                                                 |
++----------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                             | :ref:`add_shortcut<class_PopupMenu_add_shortcut>`  **(** :ref:`ShortCut<class_shortcut>` shortcut, :ref:`int<class_int>` id=-1  **)**                                                                            |
++----------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                             | :ref:`add_submenu_item<class_PopupMenu_add_submenu_item>`  **(** :ref:`String<class_string>` label, :ref:`String<class_string>` submenu, :ref:`int<class_int>` id=-1  **)**                                      |
++----------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                             | :ref:`clear<class_PopupMenu_clear>`  **(** **)**                                                                                                                                                                 |
++----------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`            | :ref:`get_item_ID<class_PopupMenu_get_item_ID>`  **(** :ref:`int<class_int>` idx  **)** const                                                                                                                    |
++----------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`            | :ref:`get_item_accelerator<class_PopupMenu_get_item_accelerator>`  **(** :ref:`int<class_int>` idx  **)** const                                                                                                  |
++----------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`            | :ref:`get_item_count<class_PopupMenu_get_item_count>`  **(** **)** const                                                                                                                                         |
++----------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Object<class_object>`      | :ref:`get_item_icon<class_PopupMenu_get_item_icon>`  **(** :ref:`int<class_int>` idx  **)** const                                                                                                                |
++----------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`            | :ref:`get_item_index<class_PopupMenu_get_item_index>`  **(** :ref:`int<class_int>` id  **)** const                                                                                                               |
++----------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                             | :ref:`get_item_metadata<class_PopupMenu_get_item_metadata>`  **(** :ref:`int<class_int>` idx  **)** const                                                                                                        |
++----------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`ShortCut<class_shortcut>`  | :ref:`get_item_shortcut<class_PopupMenu_get_item_shortcut>`  **(** :ref:`int<class_int>` idx  **)** const                                                                                                        |
++----------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_string>`      | :ref:`get_item_submenu<class_PopupMenu_get_item_submenu>`  **(** :ref:`int<class_int>` idx  **)** const                                                                                                          |
++----------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_string>`      | :ref:`get_item_text<class_PopupMenu_get_item_text>`  **(** :ref:`int<class_int>` idx  **)** 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                                                                                                            |
++----------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`          | :ref:`is_item_disabled<class_PopupMenu_is_item_disabled>`  **(** :ref:`int<class_int>` idx  **)** const                                                                                                          |
++----------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`          | :ref:`is_item_separator<class_PopupMenu_is_item_separator>`  **(** :ref:`int<class_int>` idx  **)** const                                                                                                        |
++----------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                             | :ref:`remove_item<class_PopupMenu_remove_item>`  **(** :ref:`int<class_int>` idx  **)**                                                                                                                          |
++----------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                             | :ref:`set_item_ID<class_PopupMenu_set_item_ID>`  **(** :ref:`int<class_int>` idx, :ref:`int<class_int>` id  **)**                                                                                                |
++----------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| 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  **)**                                                                      |
++----------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                             | :ref:`set_item_as_separator<class_PopupMenu_set_item_as_separator>`  **(** :ref:`int<class_int>` idx, :ref:`bool<class_bool>` enable  **)**                                                                      |
++----------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                             | :ref:`set_item_checked<class_PopupMenu_set_item_checked>`  **(** :ref:`int<class_int>` idx, :ref:`bool<class_bool>` checked  **)**                                                                               |
++----------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                             | :ref:`set_item_disabled<class_PopupMenu_set_item_disabled>`  **(** :ref:`int<class_int>` idx, :ref:`bool<class_bool>` disabled  **)**                                                                            |
++----------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                             | :ref:`set_item_icon<class_PopupMenu_set_item_icon>`  **(** :ref:`int<class_int>` idx, :ref:`Object<class_object>` icon  **)**                                                                                    |
++----------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                             | :ref:`set_item_metadata<class_PopupMenu_set_item_metadata>`  **(** :ref:`int<class_int>` idx, :ref:`Variant<class_variant>` metadata  **)**                                                                      |
++----------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                             | :ref:`set_item_shortcut<class_PopupMenu_set_item_shortcut>`  **(** :ref:`int<class_int>` idx, :ref:`ShortCut<class_shortcut>` shortcut  **)**                                                                    |
++----------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                             | :ref:`set_item_submenu<class_PopupMenu_set_item_submenu>`  **(** :ref:`int<class_int>` idx, :ref:`String<class_string>` submenu  **)**                                                                           |
++----------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                             | :ref:`set_item_text<class_PopupMenu_set_item_text>`  **(** :ref:`int<class_int>` idx, :ref:`String<class_string>` text  **)**                                                                                    |
++----------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 
 Signals
 -------
@@ -99,18 +111,30 @@ Member Function Description
 
 Add a new checkable item with text "label". An id can optionally be provided, as well as an accelerator. If no id is provided, one will be created from the index. Note that checkable items just display a checkmark, but don't have any built-in checking behavior and must be checked/unchecked manually.
 
+.. _class_PopupMenu_add_check_shortcut:
+
+- void  **add_check_shortcut**  **(** :ref:`ShortCut<class_shortcut>` shortcut, :ref:`int<class_int>` id=-1  **)**
+
 .. _class_PopupMenu_add_icon_check_item:
 
 - void  **add_icon_check_item**  **(** :ref:`Object<class_object>` texture, :ref:`String<class_string>` label, :ref:`int<class_int>` id=-1, :ref:`int<class_int>` accel=0  **)**
 
 Add a new checkable item with text "label" and icon "texture". An id can optionally be provided, as well as an accelerator. If no id is provided, one will be created from the index. Note that checkable items just display a checkmark, but don't have any built-in checking behavior and must be checked/unchecked manually.
 
+.. _class_PopupMenu_add_icon_check_shortcut:
+
+- void  **add_icon_check_shortcut**  **(** :ref:`Object<class_object>` texture, :ref:`ShortCut<class_shortcut>` shortcut, :ref:`int<class_int>` id=-1  **)**
+
 .. _class_PopupMenu_add_icon_item:
 
 - void  **add_icon_item**  **(** :ref:`Object<class_object>` texture, :ref:`String<class_string>` label, :ref:`int<class_int>` id=-1, :ref:`int<class_int>` accel=0  **)**
 
 Add a new item with text "label" and icon "texture". An id can optionally be provided, as well as an accelerator keybinding. If no id is provided, one will be created from the index.
 
+.. _class_PopupMenu_add_icon_shortcut:
+
+- void  **add_icon_shortcut**  **(** :ref:`Object<class_object>` texture, :ref:`ShortCut<class_shortcut>` shortcut, :ref:`int<class_int>` id=-1  **)**
+
 .. _class_PopupMenu_add_item:
 
 - void  **add_item**  **(** :ref:`String<class_string>` label, :ref:`int<class_int>` id=-1, :ref:`int<class_int>` accel=0  **)**
@@ -123,6 +147,10 @@ Add a new item with text "label". An id can optionally be provided, as well as a
 
 Add a separator between items. Separators also occupy an index.
 
+.. _class_PopupMenu_add_shortcut:
+
+- void  **add_shortcut**  **(** :ref:`ShortCut<class_shortcut>` shortcut, :ref:`int<class_int>` id=-1  **)**
+
 .. _class_PopupMenu_add_submenu_item:
 
 - void  **add_submenu_item**  **(** :ref:`String<class_string>` label, :ref:`String<class_string>` submenu, :ref:`int<class_int>` id=-1  **)**
@@ -171,6 +199,10 @@ Find and return the index of the item containing a given id.
 
 Return the metadata of an item, which might be of any type. You can set it with :ref:`set_item_metadata<class_PopupMenu_set_item_metadata>`, which provides a simple way of assigning context data to items.
 
+.. _class_PopupMenu_get_item_shortcut:
+
+- :ref:`ShortCut<class_shortcut>`  **get_item_shortcut**  **(** :ref:`int<class_int>` idx  **)** const
+
 .. _class_PopupMenu_get_item_submenu:
 
 - :ref:`String<class_string>`  **get_item_submenu**  **(** :ref:`int<class_int>` idx  **)** const
@@ -257,10 +289,14 @@ Set the icon of the item at index "idx".
 
 .. _class_PopupMenu_set_item_metadata:
 
-- void  **set_item_metadata**  **(** :ref:`int<class_int>` idx, var metadata  **)**
+- void  **set_item_metadata**  **(** :ref:`int<class_int>` idx, :ref:`Variant<class_variant>` metadata  **)**
 
 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_shortcut:
+
+- void  **set_item_shortcut**  **(** :ref:`int<class_int>` idx, :ref:`ShortCut<class_shortcut>` shortcut  **)**
+
 .. _class_PopupMenu_set_item_submenu:
 
 - void  **set_item_submenu**  **(** :ref:`int<class_int>` idx, :ref:`String<class_string>` submenu  **)**

+ 12 - 12
classes/class_proximitygroup.rst

@@ -18,17 +18,17 @@ General purpose proximity-detection node.
 Member Functions
 ----------------
 
-+--------------------------------+-----------------------------------------------------------------------------------------------------------------+
-| void                           | :ref:`broadcast<class_ProximityGroup_broadcast>`  **(** :ref:`String<class_string>` name, var parameters  **)** |
-+--------------------------------+-----------------------------------------------------------------------------------------------------------------+
-| :ref:`Vector3<class_vector3>`  | :ref:`get_grid_radius<class_ProximityGroup_get_grid_radius>`  **(** **)** const                                 |
-+--------------------------------+-----------------------------------------------------------------------------------------------------------------+
-| void                           | :ref:`set_dispatch_mode<class_ProximityGroup_set_dispatch_mode>`  **(** :ref:`int<class_int>` mode  **)**       |
-+--------------------------------+-----------------------------------------------------------------------------------------------------------------+
-| void                           | :ref:`set_grid_radius<class_ProximityGroup_set_grid_radius>`  **(** :ref:`Vector3<class_vector3>` radius  **)** |
-+--------------------------------+-----------------------------------------------------------------------------------------------------------------+
-| void                           | :ref:`set_group_name<class_ProximityGroup_set_group_name>`  **(** :ref:`String<class_string>` name  **)**       |
-+--------------------------------+-----------------------------------------------------------------------------------------------------------------+
++--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
+| void                           | :ref:`broadcast<class_ProximityGroup_broadcast>`  **(** :ref:`String<class_string>` name, :ref:`Variant<class_variant>` parameters  **)** |
++--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Vector3<class_vector3>`  | :ref:`get_grid_radius<class_ProximityGroup_get_grid_radius>`  **(** **)** const                                                           |
++--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
+| void                           | :ref:`set_dispatch_mode<class_ProximityGroup_set_dispatch_mode>`  **(** :ref:`int<class_int>` mode  **)**                                 |
++--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
+| void                           | :ref:`set_grid_radius<class_ProximityGroup_set_grid_radius>`  **(** :ref:`Vector3<class_vector3>` radius  **)**                           |
++--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
+| void                           | :ref:`set_group_name<class_ProximityGroup_set_group_name>`  **(** :ref:`String<class_string>` name  **)**                                 |
++--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
 
 Signals
 -------
@@ -45,7 +45,7 @@ Member Function Description
 
 .. _class_ProximityGroup_broadcast:
 
-- void  **broadcast**  **(** :ref:`String<class_string>` name, var parameters  **)**
+- void  **broadcast**  **(** :ref:`String<class_string>` name, :ref:`Variant<class_variant>` parameters  **)**
 
 .. _class_ProximityGroup_get_grid_radius:
 

+ 53 - 15
classes/class_rawarray.rst

@@ -16,21 +16,31 @@ Raw byte array.
 Member Functions
 ----------------
 
-+----------------------------------+----------------------------------------------------------------------------------------------------+
-| :ref:`RawArray<class_rawarray>`  | :ref:`RawArray<class_RawArray_RawArray>`  **(** :ref:`Array<class_array>` from  **)**              |
-+----------------------------------+----------------------------------------------------------------------------------------------------+
-| :ref:`String<class_string>`      | :ref:`get_string_from_ascii<class_RawArray_get_string_from_ascii>`  **(** **)**                    |
-+----------------------------------+----------------------------------------------------------------------------------------------------+
-| :ref:`String<class_string>`      | :ref:`get_string_from_utf8<class_RawArray_get_string_from_utf8>`  **(** **)**                      |
-+----------------------------------+----------------------------------------------------------------------------------------------------+
-| void                             | :ref:`push_back<class_RawArray_push_back>`  **(** :ref:`int<class_int>` byte  **)**                |
-+----------------------------------+----------------------------------------------------------------------------------------------------+
-| void                             | :ref:`resize<class_RawArray_resize>`  **(** :ref:`int<class_int>` idx  **)**                       |
-+----------------------------------+----------------------------------------------------------------------------------------------------+
-| void                             | :ref:`set<class_RawArray_set>`  **(** :ref:`int<class_int>` idx, :ref:`int<class_int>` byte  **)** |
-+----------------------------------+----------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`            | :ref:`size<class_RawArray_size>`  **(** **)**                                                      |
-+----------------------------------+----------------------------------------------------------------------------------------------------+
++----------------------------------+----------------------------------------------------------------------------------------------------------+
+| :ref:`RawArray<class_rawarray>`  | :ref:`RawArray<class_RawArray_RawArray>`  **(** :ref:`Array<class_array>` from  **)**                    |
++----------------------------------+----------------------------------------------------------------------------------------------------------+
+| void                             | :ref:`append<class_RawArray_append>`  **(** :ref:`int<class_int>` byte  **)**                            |
++----------------------------------+----------------------------------------------------------------------------------------------------------+
+| void                             | :ref:`append_array<class_RawArray_append_array>`  **(** :ref:`RawArray<class_rawarray>` array  **)**     |
++----------------------------------+----------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_string>`      | :ref:`get_string_from_ascii<class_RawArray_get_string_from_ascii>`  **(** **)**                          |
++----------------------------------+----------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_string>`      | :ref:`get_string_from_utf8<class_RawArray_get_string_from_utf8>`  **(** **)**                            |
++----------------------------------+----------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`            | :ref:`insert<class_RawArray_insert>`  **(** :ref:`int<class_int>` idx, :ref:`int<class_int>` byte  **)** |
++----------------------------------+----------------------------------------------------------------------------------------------------------+
+| void                             | :ref:`invert<class_RawArray_invert>`  **(** **)**                                                        |
++----------------------------------+----------------------------------------------------------------------------------------------------------+
+| void                             | :ref:`push_back<class_RawArray_push_back>`  **(** :ref:`int<class_int>` byte  **)**                      |
++----------------------------------+----------------------------------------------------------------------------------------------------------+
+| void                             | :ref:`remove<class_RawArray_remove>`  **(** :ref:`int<class_int>` idx  **)**                             |
++----------------------------------+----------------------------------------------------------------------------------------------------------+
+| void                             | :ref:`resize<class_RawArray_resize>`  **(** :ref:`int<class_int>` idx  **)**                             |
++----------------------------------+----------------------------------------------------------------------------------------------------------+
+| void                             | :ref:`set<class_RawArray_set>`  **(** :ref:`int<class_int>` idx, :ref:`int<class_int>` byte  **)**       |
++----------------------------------+----------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`            | :ref:`size<class_RawArray_size>`  **(** **)**                                                            |
++----------------------------------+----------------------------------------------------------------------------------------------------------+
 
 Description
 -----------
@@ -46,6 +56,16 @@ Member Function Description
 
 Create from a generic array.
 
+.. _class_RawArray_append:
+
+- void  **append**  **(** :ref:`int<class_int>` byte  **)**
+
+.. _class_RawArray_append_array:
+
+- void  **append_array**  **(** :ref:`RawArray<class_rawarray>` array  **)**
+
+Append an :ref:`RawArray<class_rawarray>` at the end of this array.
+
 .. _class_RawArray_get_string_from_ascii:
 
 - :ref:`String<class_string>`  **get_string_from_ascii**  **(** **)**
@@ -58,12 +78,30 @@ Returns a copy of the array's contents formatted as String. Fast alternative to
 
 Returns a copy of the array's contents formatted as String, assuming the array is formatted as UTF-8. Slower than get_string_from_ascii(), but works for UTF-8. Usually you should prefer this function over get_string_from_ascii() to support international input.
 
+.. _class_RawArray_insert:
+
+- :ref:`int<class_int>`  **insert**  **(** :ref:`int<class_int>` idx, :ref:`int<class_int>` byte  **)**
+
+Insert a new element at a given position in the array. The position must be valid, or at the end of the array (pos==size()).
+
+.. _class_RawArray_invert:
+
+- void  **invert**  **(** **)**
+
+Reverse the order of the elements in the array (so first element will now be the last).
+
 .. _class_RawArray_push_back:
 
 - void  **push_back**  **(** :ref:`int<class_int>` byte  **)**
 
 Append an element at the end of the array.
 
+.. _class_RawArray_remove:
+
+- void  **remove**  **(** :ref:`int<class_int>` idx  **)**
+
+Remove an element from the array by index.
+
 .. _class_RawArray_resize:
 
 - void  **resize**  **(** :ref:`int<class_int>` idx  **)**

+ 28 - 0
classes/class_raycast.rst

@@ -35,6 +35,10 @@ Member Functions
 +--------------------------------+---------------------------------------------------------------------------------------------------------+
 | :ref:`Vector3<class_vector3>`  | :ref:`get_collision_point<class_RayCast_get_collision_point>`  **(** **)** const                        |
 +--------------------------------+---------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`          | :ref:`get_layer_mask<class_RayCast_get_layer_mask>`  **(** **)** const                                  |
++--------------------------------+---------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`          | :ref:`get_type_mask<class_RayCast_get_type_mask>`  **(** **)** const                                    |
++--------------------------------+---------------------------------------------------------------------------------------------------------+
 | :ref:`bool<class_bool>`        | :ref:`is_colliding<class_RayCast_is_colliding>`  **(** **)** const                                      |
 +--------------------------------+---------------------------------------------------------------------------------------------------------+
 | :ref:`bool<class_bool>`        | :ref:`is_enabled<class_RayCast_is_enabled>`  **(** **)** const                                          |
@@ -47,6 +51,10 @@ Member Functions
 +--------------------------------+---------------------------------------------------------------------------------------------------------+
 | void                           | :ref:`set_enabled<class_RayCast_set_enabled>`  **(** :ref:`bool<class_bool>` enabled  **)**             |
 +--------------------------------+---------------------------------------------------------------------------------------------------------+
+| void                           | :ref:`set_layer_mask<class_RayCast_set_layer_mask>`  **(** :ref:`int<class_int>` mask  **)**            |
++--------------------------------+---------------------------------------------------------------------------------------------------------+
+| void                           | :ref:`set_type_mask<class_RayCast_set_type_mask>`  **(** :ref:`int<class_int>` mask  **)**              |
++--------------------------------+---------------------------------------------------------------------------------------------------------+
 
 Member Function Description
 ---------------------------
@@ -83,6 +91,16 @@ Member Function Description
 
 - :ref:`Vector3<class_vector3>`  **get_collision_point**  **(** **)** const
 
+Returns collision point. This point is in **global** coordinate system.
+
+.. _class_RayCast_get_layer_mask:
+
+- :ref:`int<class_int>`  **get_layer_mask**  **(** **)** const
+
+.. _class_RayCast_get_type_mask:
+
+- :ref:`int<class_int>`  **get_type_mask**  **(** **)** const
+
 .. _class_RayCast_is_colliding:
 
 - :ref:`bool<class_bool>`  **is_colliding**  **(** **)** const
@@ -103,8 +121,18 @@ Member Function Description
 
 - void  **set_cast_to**  **(** :ref:`Vector3<class_vector3>` local_point  **)**
 
+Sets to which point ray should be casted. This point is in **local** coordinate system.
+
 .. _class_RayCast_set_enabled:
 
 - void  **set_enabled**  **(** :ref:`bool<class_bool>` enabled  **)**
 
+.. _class_RayCast_set_layer_mask:
+
+- void  **set_layer_mask**  **(** :ref:`int<class_int>` mask  **)**
+
+.. _class_RayCast_set_type_mask:
+
+- void  **set_type_mask**  **(** :ref:`int<class_int>` mask  **)**
+
 

+ 51 - 11
classes/class_realarray.rst

@@ -16,17 +16,27 @@ Real Array .
 Member Functions
 ----------------
 
-+------------------------------------+----------------------------------------------------------------------------------------------------------+
-| :ref:`RealArray<class_realarray>`  | :ref:`RealArray<class_RealArray_RealArray>`  **(** :ref:`Array<class_array>` from  **)**                 |
-+------------------------------------+----------------------------------------------------------------------------------------------------------+
-| void                               | :ref:`push_back<class_RealArray_push_back>`  **(** :ref:`float<class_float>` value  **)**                |
-+------------------------------------+----------------------------------------------------------------------------------------------------------+
-| void                               | :ref:`resize<class_RealArray_resize>`  **(** :ref:`int<class_int>` idx  **)**                            |
-+------------------------------------+----------------------------------------------------------------------------------------------------------+
-| void                               | :ref:`set<class_RealArray_set>`  **(** :ref:`int<class_int>` idx, :ref:`float<class_float>` value  **)** |
-+------------------------------------+----------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`              | :ref:`size<class_RealArray_size>`  **(** **)**                                                           |
-+------------------------------------+----------------------------------------------------------------------------------------------------------+
++------------------------------------+----------------------------------------------------------------------------------------------------------------+
+| :ref:`RealArray<class_realarray>`  | :ref:`RealArray<class_RealArray_RealArray>`  **(** :ref:`Array<class_array>` from  **)**                       |
++------------------------------------+----------------------------------------------------------------------------------------------------------------+
+| void                               | :ref:`append<class_RealArray_append>`  **(** :ref:`float<class_float>` value  **)**                            |
++------------------------------------+----------------------------------------------------------------------------------------------------------------+
+| void                               | :ref:`append_array<class_RealArray_append_array>`  **(** :ref:`RealArray<class_realarray>` array  **)**        |
++------------------------------------+----------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`              | :ref:`insert<class_RealArray_insert>`  **(** :ref:`int<class_int>` idx, :ref:`float<class_float>` value  **)** |
++------------------------------------+----------------------------------------------------------------------------------------------------------------+
+| void                               | :ref:`invert<class_RealArray_invert>`  **(** **)**                                                             |
++------------------------------------+----------------------------------------------------------------------------------------------------------------+
+| void                               | :ref:`push_back<class_RealArray_push_back>`  **(** :ref:`float<class_float>` value  **)**                      |
++------------------------------------+----------------------------------------------------------------------------------------------------------------+
+| void                               | :ref:`remove<class_RealArray_remove>`  **(** :ref:`int<class_int>` idx  **)**                                  |
++------------------------------------+----------------------------------------------------------------------------------------------------------------+
+| void                               | :ref:`resize<class_RealArray_resize>`  **(** :ref:`int<class_int>` idx  **)**                                  |
++------------------------------------+----------------------------------------------------------------------------------------------------------------+
+| void                               | :ref:`set<class_RealArray_set>`  **(** :ref:`int<class_int>` idx, :ref:`float<class_float>` value  **)**       |
++------------------------------------+----------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`              | :ref:`size<class_RealArray_size>`  **(** **)**                                                                 |
++------------------------------------+----------------------------------------------------------------------------------------------------------------+
 
 Description
 -----------
@@ -42,12 +52,42 @@ Member Function Description
 
 Create from a generic array.
 
+.. _class_RealArray_append:
+
+- void  **append**  **(** :ref:`float<class_float>` value  **)**
+
+Append an element at the end of the array (alias of :ref:`push_back<class_RealArray_push_back>`).
+
+.. _class_RealArray_append_array:
+
+- void  **append_array**  **(** :ref:`RealArray<class_realarray>` array  **)**
+
+Append an :ref:`RealArray<class_realarray>` at the end of this array.
+
+.. _class_RealArray_insert:
+
+- :ref:`int<class_int>`  **insert**  **(** :ref:`int<class_int>` idx, :ref:`float<class_float>` value  **)**
+
+Insert a new element at a given position in the array. The position must be valid, or at the end of the array (pos==size()).
+
+.. _class_RealArray_invert:
+
+- void  **invert**  **(** **)**
+
+Reverse the order of the elements in the array (so first element will now be the last).
+
 .. _class_RealArray_push_back:
 
 - void  **push_back**  **(** :ref:`float<class_float>` value  **)**
 
 Append an element at the end of the array.
 
+.. _class_RealArray_remove:
+
+- void  **remove**  **(** :ref:`int<class_int>` idx  **)**
+
+Remove an element from the array by index.
+
 .. _class_RealArray_resize:
 
 - void  **resize**  **(** :ref:`int<class_int>` idx  **)**

+ 1 - 1
classes/class_reference.rst

@@ -8,7 +8,7 @@ Reference
 
 **Inherits:** :ref:`Object<class_object>`
 
-**Inherited By:** :ref:`RegEx<class_regex>`, :ref:`SurfaceTool<class_surfacetool>`, :ref:`EditorScenePostImport<class_editorscenepostimport>`, :ref:`PhysicsShapeQueryResult<class_physicsshapequeryresult>`, :ref:`Physics2DTestMotionResult<class_physics2dtestmotionresult>`, :ref:`FuncRef<class_funcref>`, :ref:`File<class_file>`, :ref:`TCP_Server<class_tcp_server>`, :ref:`Physics2DShapeQueryResult<class_physics2dshapequeryresult>`, :ref:`ConfigFile<class_configfile>`, :ref:`StreamPeer<class_streampeer>`, :ref:`HTTPClient<class_httpclient>`, :ref:`AudioStreamPlayback<class_audiostreamplayback>`, :ref:`MeshDataTool<class_meshdatatool>`, :ref:`GDFunctionState<class_gdfunctionstate>`, :ref:`Physics2DShapeQueryParameters<class_physics2dshapequeryparameters>`, :ref:`EditorScript<class_editorscript>`, :ref:`Mutex<class_mutex>`, :ref:`PacketPeer<class_packetpeer>`, :ref:`Semaphore<class_semaphore>`, :ref:`XMLParser<class_xmlparser>`, :ref:`EditorImportPlugin<class_editorimportplugin>`, :ref:`Directory<class_directory>`, :ref:`Marshalls<class_marshalls>`, :ref:`WeakRef<class_weakref>`, :ref:`SceneState<class_scenestate>`, :ref:`GDNativeClass<class_gdnativeclass>`, :ref:`PCKPacker<class_pckpacker>`, :ref:`Resource<class_resource>`, :ref:`Thread<class_thread>`, :ref:`PackedDataContainerRef<class_packeddatacontainerref>`, :ref:`ResourceInteractiveLoader<class_resourceinteractiveloader>`, :ref:`ResourceImportMetadata<class_resourceimportmetadata>`, :ref:`PhysicsShapeQueryParameters<class_physicsshapequeryparameters>`
+**Inherited By:** :ref:`RegEx<class_regex>`, :ref:`SurfaceTool<class_surfacetool>`, :ref:`SpatialGizmo<class_spatialgizmo>`, :ref:`EditorScenePostImport<class_editorscenepostimport>`, :ref:`PhysicsShapeQueryResult<class_physicsshapequeryresult>`, :ref:`Physics2DTestMotionResult<class_physics2dtestmotionresult>`, :ref:`FuncRef<class_funcref>`, :ref:`File<class_file>`, :ref:`TCP_Server<class_tcp_server>`, :ref:`Physics2DShapeQueryResult<class_physics2dshapequeryresult>`, :ref:`ConfigFile<class_configfile>`, :ref:`StreamPeer<class_streampeer>`, :ref:`HTTPClient<class_httpclient>`, :ref:`AudioStreamPlayback<class_audiostreamplayback>`, :ref:`Physics2DShapeQueryParameters<class_physics2dshapequeryparameters>`, :ref:`MeshDataTool<class_meshdatatool>`, :ref:`GDFunctionState<class_gdfunctionstate>`, :ref:`EditorExportPlugin<class_editorexportplugin>`, :ref:`EditorScript<class_editorscript>`, :ref:`Mutex<class_mutex>`, :ref:`PacketPeer<class_packetpeer>`, :ref:`Semaphore<class_semaphore>`, :ref:`XMLParser<class_xmlparser>`, :ref:`EditorImportPlugin<class_editorimportplugin>`, :ref:`Directory<class_directory>`, :ref:`Marshalls<class_marshalls>`, :ref:`WeakRef<class_weakref>`, :ref:`SceneState<class_scenestate>`, :ref:`GDNativeClass<class_gdnativeclass>`, :ref:`PCKPacker<class_pckpacker>`, :ref:`Resource<class_resource>`, :ref:`Thread<class_thread>`, :ref:`PackedDataContainerRef<class_packeddatacontainerref>`, :ref:`ResourceInteractiveLoader<class_resourceinteractiveloader>`, :ref:`ResourceImportMetadata<class_resourceimportmetadata>`, :ref:`PhysicsShapeQueryParameters<class_physicsshapequeryparameters>`
 
 **Category:** Core
 

+ 27 - 17
classes/class_regex.rst

@@ -39,41 +39,51 @@ Member Functions
 Description
 -----------
 
-Class for finding text patterns in a string using regular expressions. Regular expressions are a way to define patterns of text to be searched.
+Class for finding text patterns in a string using regular expressions. It can not perform replacements. Regular expressions are a way to define patterns of text to be searched. Details on writing patterns are too long to explain here but the Internet is full of tutorials and detailed explanations.
 
-This class only finds patterns in a string. It can not perform replacements.
+Once created, the RegEx object needs to be compiled with the pattern before it can be used. The pattern must be escaped first for gdscript before it is escaped for the expression. For example:
 
-Usage of regular expressions is too long to be explained here, but Internet is full of tutorials and detailed explanations.
+``var exp = RegEx.new()``
+
+``exp.compile("\\d+")``
+
+would be read by RegEx as ``\d+``
+
+Similarly:
+
+``exp.compile("\"(?:\\\\.|:ref:`^\"<class_^\">`)\*\"")``
+
+would be read as ``"(?:\\.|:ref:`^"<class_^">`)\*"``
 
 Currently supported features:
 
-Capturing ``()`` and non-capturing ``(?:)`` groups
+\* Capturing ``()`` and non-capturing ``(?:)`` groups
 
-Any character ``.``
+\* Any character ``.``
 
-Shorthand character classes ``\w \W \s \S \d \D``
+\* Shorthand character classes ``\w \W \s \S \d \D``
 
-User-defined character classes such as ``:ref:`A-Za-z<class_a-za-z>```
+\* User-defined character classes such as ``:ref:`A-Za-z<class_a-za-z>```
 
-Simple quantifiers ``?``, ``\*`` and ``+``
+\* Simple quantifiers ``?``, ``\*`` and ``+``
 
-Range quantifiers ``{x,y}``
+\* Range quantifiers ``{x,y}``
 
-Lazy (non-greedy) quantifiers ``\*?``
+\* Lazy (non-greedy) quantifiers ``\*?``
 
-Beginning ``^`` and end ``$`` anchors
+\* Beginning ``^`` and end ``$`` anchors
 
-Alternation ``|``
+\* Alternation ``|``
 
-Backreferences ``\1`` and ``\g{1}``
+\* Backreferences ``\1`` and ``\g{1}``
 
-POSIX character classes ``:ref:`[:alnum:<class_[:alnum:>`]``
+\* POSIX character classes ``:ref:`[:alnum:<class_[:alnum:>`]``
 
-Lookahead ``(?=)``, ``(?!)`` and lookbehind ``(?<=)``, ``(?<!)``
+\* Lookahead ``(?=)``, ``(?!)`` and lookbehind ``(?<=)``, ``(?<!)``
 
-ASCII ``\xFF`` and Unicode ``\uFFFF`` code points (in a style similar to Python)
+\* ASCII ``\xFF`` and Unicode ``\uFFFF`` code points (in a style similar to Python)
 
-Word boundaries ``\b``, ``\B``
+\* Word boundaries ``\b``, ``\B``
 
 Member Function Description
 ---------------------------

+ 1 - 1
classes/class_resource.rst

@@ -8,7 +8,7 @@ Resource
 
 **Inherits:** :ref:`Reference<class_reference>` **<** :ref:`Object<class_object>`
 
-**Inherited By:** :ref:`Theme<class_theme>`, :ref:`AudioStream<class_audiostream>`, :ref:`EventStream<class_eventstream>`, :ref:`CubeMap<class_cubemap>`, :ref:`Translation<class_translation>`, :ref:`Curve2D<class_curve2d>`, :ref:`Shape<class_shape>`, :ref:`Shape2D<class_shape2d>`, :ref:`BakedLight<class_bakedlight>`, :ref:`ColorRamp<class_colorramp>`, :ref:`StyleBox<class_stylebox>`, :ref:`Environment<class_environment>`, :ref:`Material<class_material>`, :ref:`VideoStream<class_videostream>`, :ref:`RoomBounds<class_roombounds>`, :ref:`PackedScene<class_packedscene>`, :ref:`Texture<class_texture>`, :ref:`Script<class_script>`, :ref:`OccluderPolygon2D<class_occluderpolygon2d>`, :ref:`Mesh<class_mesh>`, :ref:`TileSet<class_tileset>`, :ref:`BitMap<class_bitmap>`, :ref:`Animation<class_animation>`, :ref:`Sample<class_sample>`, :ref:`PolygonPathFinder<class_polygonpathfinder>`, :ref:`Shader<class_shader>`, :ref:`World<class_world>`, :ref:`SampleLibrary<class_samplelibrary>`, :ref:`World2D<class_world2d>`, :ref:`Font<class_font>`, :ref:`SpriteFrames<class_spriteframes>`, :ref:`MeshLibrary<class_meshlibrary>`, :ref:`Curve3D<class_curve3d>`, :ref:`NavigationPolygon<class_navigationpolygon>`, :ref:`MultiMesh<class_multimesh>`, :ref:`CanvasItemMaterial<class_canvasitemmaterial>`, :ref:`PackedDataContainer<class_packeddatacontainer>`, :ref:`NavigationMesh<class_navigationmesh>`
+**Inherited By:** :ref:`Theme<class_theme>`, :ref:`AudioStream<class_audiostream>`, :ref:`EventStream<class_eventstream>`, :ref:`CubeMap<class_cubemap>`, :ref:`DynamicFontData<class_dynamicfontdata>`, :ref:`Translation<class_translation>`, :ref:`Curve2D<class_curve2d>`, :ref:`Shape<class_shape>`, :ref:`Shape2D<class_shape2d>`, :ref:`Shader<class_shader>`, :ref:`ColorRamp<class_colorramp>`, :ref:`StyleBox<class_stylebox>`, :ref:`Environment<class_environment>`, :ref:`Material<class_material>`, :ref:`VideoStream<class_videostream>`, :ref:`RoomBounds<class_roombounds>`, :ref:`PackedScene<class_packedscene>`, :ref:`Texture<class_texture>`, :ref:`Script<class_script>`, :ref:`OccluderPolygon2D<class_occluderpolygon2d>`, :ref:`Mesh<class_mesh>`, :ref:`TileSet<class_tileset>`, :ref:`ShortCut<class_shortcut>`, :ref:`BitMap<class_bitmap>`, :ref:`Animation<class_animation>`, :ref:`Sample<class_sample>`, :ref:`PolygonPathFinder<class_polygonpathfinder>`, :ref:`BakedLight<class_bakedlight>`, :ref:`World<class_world>`, :ref:`SampleLibrary<class_samplelibrary>`, :ref:`World2D<class_world2d>`, :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:`MultiMesh<class_multimesh>`, :ref:`CanvasItemMaterial<class_canvasitemmaterial>`, :ref:`PackedDataContainer<class_packeddatacontainer>`, :ref:`NavigationMesh<class_navigationmesh>`
 
 **Category:** Core
 

+ 8 - 2
classes/class_resourceimportmetadata.rst

@@ -37,7 +37,9 @@ Member Functions
 +----------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                   | :ref:`set_editor<class_ResourceImportMetadata_set_editor>`  **(** :ref:`String<class_string>` name  **)**                                     |
 +----------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                   | :ref:`set_option<class_ResourceImportMetadata_set_option>`  **(** :ref:`String<class_string>` key, var value  **)**                           |
+| void                                   | :ref:`set_option<class_ResourceImportMetadata_set_option>`  **(** :ref:`String<class_string>` key, :ref:`Variant<class_variant>` value  **)** |
++----------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                   | :ref:`set_source_md5<class_ResourceImportMetadata_set_source_md5>`  **(** :ref:`int<class_int>` idx, :ref:`String<class_string>` md5  **)**   |
 +----------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+
 
 Member Function Description
@@ -81,6 +83,10 @@ Member Function Description
 
 .. _class_ResourceImportMetadata_set_option:
 
-- void  **set_option**  **(** :ref:`String<class_string>` key, var value  **)**
+- void  **set_option**  **(** :ref:`String<class_string>` key, :ref:`Variant<class_variant>` value  **)**
+
+.. _class_ResourceImportMetadata_set_source_md5:
+
+- void  **set_source_md5**  **(** :ref:`int<class_int>` idx, :ref:`String<class_string>` md5  **)**
 
 

+ 6 - 0
classes/class_resourceloader.rst

@@ -27,6 +27,8 @@ Member Functions
 +--------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`Resource<class_resource>`                                    | :ref:`load<class_ResourceLoader_load>`  **(** :ref:`String<class_string>` path, :ref:`String<class_string>` type_hint="", :ref:`bool<class_bool>` p_no_cache=false  **)** |
 +--------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`ResourceImportMetadata<class_resourceimportmetadata>`        | :ref:`load_import_metadata<class_ResourceLoader_load_import_metadata>`  **(** :ref:`String<class_string>` path  **)**                                                     |
++--------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`ResourceInteractiveLoader<class_resourceinteractiveloader>`  | :ref:`load_interactive<class_ResourceLoader_load_interactive>`  **(** :ref:`String<class_string>` path, :ref:`String<class_string>` type_hint=""  **)**                   |
 +--------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                                               | :ref:`set_abort_on_missing_resources<class_ResourceLoader_set_abort_on_missing_resources>`  **(** :ref:`bool<class_bool>` abort  **)**                                    |
@@ -58,6 +60,10 @@ Return the list of recognized extensions for a resource type.
 
 - :ref:`Resource<class_resource>`  **load**  **(** :ref:`String<class_string>` path, :ref:`String<class_string>` type_hint="", :ref:`bool<class_bool>` p_no_cache=false  **)**
 
+.. _class_ResourceLoader_load_import_metadata:
+
+- :ref:`ResourceImportMetadata<class_resourceimportmetadata>`  **load_import_metadata**  **(** :ref:`String<class_string>` path  **)**
+
 .. _class_ResourceLoader_load_interactive:
 
 - :ref:`ResourceInteractiveLoader<class_resourceinteractiveloader>`  **load_interactive**  **(** :ref:`String<class_string>` path, :ref:`String<class_string>` type_hint=""  **)**

+ 10 - 2
classes/class_richtextlabel.rst

@@ -31,6 +31,8 @@ Member Functions
 +------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`int<class_int>`        | :ref:`get_tab_size<class_RichTextLabel_get_tab_size>`  **(** **)** const                                                                                                            |
 +------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_string>`  | :ref:`get_text<class_RichTextLabel_get_text>`  **(** **)**                                                                                                                          |
++------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`int<class_int>`        | :ref:`get_total_character_count<class_RichTextLabel_get_total_character_count>`  **(** **)** const                                                                                  |
 +------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`Object<class_object>`  | :ref:`get_v_scroll<class_RichTextLabel_get_v_scroll>`  **(** **)**                                                                                                                  |
@@ -65,7 +67,7 @@ Member Functions
 +------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                         | :ref:`push_list<class_RichTextLabel_push_list>`  **(** :ref:`int<class_int>` type  **)**                                                                                            |
 +------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                         | :ref:`push_meta<class_RichTextLabel_push_meta>`  **(** var data  **)**                                                                                                              |
+| void                         | :ref:`push_meta<class_RichTextLabel_push_meta>`  **(** :ref:`Variant<class_variant>` data  **)**                                                                                    |
 +------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                         | :ref:`push_table<class_RichTextLabel_push_table>`  **(** :ref:`int<class_int>` columns  **)**                                                                                       |
 +------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
@@ -151,6 +153,12 @@ Member Function Description
 
 - :ref:`int<class_int>`  **get_tab_size**  **(** **)** const
 
+.. _class_RichTextLabel_get_text:
+
+- :ref:`String<class_string>`  **get_text**  **(** **)**
+
+Returns the raw text, stripping out the formatting information.
+
 .. _class_RichTextLabel_get_total_character_count:
 
 - :ref:`int<class_int>`  **get_total_character_count**  **(** **)** const
@@ -223,7 +231,7 @@ Return true if selecting the text inside this richtext is allowed.
 
 .. _class_RichTextLabel_push_meta:
 
-- void  **push_meta**  **(** var data  **)**
+- void  **push_meta**  **(** :ref:`Variant<class_variant>` data  **)**
 
 .. _class_RichTextLabel_push_table:
 

+ 10 - 1
classes/class_rid.rst

@@ -11,7 +11,7 @@ RID
 Brief Description
 -----------------
 
-
+Handle for a :ref:`Resource<class_resource>`'s unique ID.
 
 Member Functions
 ----------------
@@ -22,6 +22,11 @@ Member Functions
 | :ref:`int<class_int>`  | :ref:`get_id<class_RID_get_id>`  **(** **)**                             |
 +------------------------+--------------------------------------------------------------------------+
 
+Description
+-----------
+
+The RID type is used to access the unique integer ID of a resource.  They are opaque, so they do not grant access to the associated resource by themselves. They are used by and with the low-level Server classes such as :ref:`VisualServer<class_visualserver>`.
+
 Member Function Description
 ---------------------------
 
@@ -29,8 +34,12 @@ Member Function Description
 
 - :ref:`RID<class_rid>`  **RID**  **(** :ref:`Object<class_object>` from  **)**
 
+Create a new RID instance with the ID of a given resource. When not handed a valid resource, silently stores the unused ID 0.
+
 .. _class_RID_get_id:
 
 - :ref:`int<class_int>`  **get_id**  **(** **)**
 
+Retrieve the ID of the referenced resource.
+
 

+ 43 - 3
classes/class_rigidbody2d.rst

@@ -21,7 +21,9 @@ Member Functions
 +--------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                           | :ref:`_integrate_forces<class_RigidBody2D__integrate_forces>`  **(** :ref:`Physics2DDirectBodyState<class_physics2ddirectbodystate>` state  **)** virtual                                                                  |
 +--------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                           | :ref:`apply_impulse<class_RigidBody2D_apply_impulse>`  **(** :ref:`Vector2<class_vector2>` pos, :ref:`Vector2<class_vector2>` impulse  **)**                                                                               |
+| void                           | :ref:`add_force<class_RigidBody2D_add_force>`  **(** :ref:`Vector2<class_vector2>` offset, :ref:`Vector2<class_vector2>` force  **)**                                                                                      |
++--------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                           | :ref:`apply_impulse<class_RigidBody2D_apply_impulse>`  **(** :ref:`Vector2<class_vector2>` offset, :ref:`Vector2<class_vector2>` impulse  **)**                                                                            |
 +--------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`float<class_float>`      | :ref:`get_angular_damp<class_RigidBody2D_get_angular_damp>`  **(** **)** const                                                                                                                                             |
 +--------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
@@ -29,6 +31,8 @@ Member Functions
 +--------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`Vector2<class_vector2>`  | :ref:`get_applied_force<class_RigidBody2D_get_applied_force>`  **(** **)** const                                                                                                                                           |
 +--------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`      | :ref:`get_applied_torque<class_RigidBody2D_get_applied_torque>`  **(** **)** const                                                                                                                                         |
++--------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`float<class_float>`      | :ref:`get_bounce<class_RigidBody2D_get_bounce>`  **(** **)** const                                                                                                                                                         |
 +--------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`Array<class_array>`      | :ref:`get_colliding_bodies<class_RigidBody2D_get_colliding_bodies>`  **(** **)** const                                                                                                                                     |
@@ -39,6 +43,8 @@ Member Functions
 +--------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`float<class_float>`      | :ref:`get_gravity_scale<class_RigidBody2D_get_gravity_scale>`  **(** **)** const                                                                                                                                           |
 +--------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`      | :ref:`get_inertia<class_RigidBody2D_get_inertia>`  **(** **)** const                                                                                                                                                       |
++--------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`float<class_float>`      | :ref:`get_linear_damp<class_RigidBody2D_get_linear_damp>`  **(** **)** const                                                                                                                                               |
 +--------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`Vector2<class_vector2>`  | :ref:`get_linear_velocity<class_RigidBody2D_get_linear_velocity>`  **(** **)** const                                                                                                                                       |
@@ -65,6 +71,8 @@ Member Functions
 +--------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                           | :ref:`set_applied_force<class_RigidBody2D_set_applied_force>`  **(** :ref:`Vector2<class_vector2>` force  **)**                                                                                                            |
 +--------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                           | :ref:`set_applied_torque<class_RigidBody2D_set_applied_torque>`  **(** :ref:`float<class_float>` torque  **)**                                                                                                             |
++--------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                           | :ref:`set_axis_velocity<class_RigidBody2D_set_axis_velocity>`  **(** :ref:`Vector2<class_vector2>` axis_velocity  **)**                                                                                                    |
 +--------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                           | :ref:`set_bounce<class_RigidBody2D_set_bounce>`  **(** :ref:`float<class_float>` bounce  **)**                                                                                                                             |
@@ -79,6 +87,8 @@ Member Functions
 +--------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                           | :ref:`set_gravity_scale<class_RigidBody2D_set_gravity_scale>`  **(** :ref:`float<class_float>` gravity_scale  **)**                                                                                                        |
 +--------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                           | :ref:`set_inertia<class_RigidBody2D_set_inertia>`  **(** :ref:`float<class_float>` inertia  **)**                                                                                                                          |
++--------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                           | :ref:`set_linear_damp<class_RigidBody2D_set_linear_damp>`  **(** :ref:`float<class_float>` linear_damp  **)**                                                                                                              |
 +--------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                           | :ref:`set_linear_velocity<class_RigidBody2D_set_linear_velocity>`  **(** :ref:`Vector2<class_vector2>` linear_velocity  **)**                                                                                              |
@@ -136,11 +146,17 @@ Member Function Description
 
 Called during physics processing, allowing you to read and safely modify the simulation state for the object. By default it works in addition to the usual physics behavior, but :ref:`set_use_custom_integrator<class_RigidBody2D_set_use_custom_integrator>` allows you to disable the default behavior and do fully custom force integration for a body.
 
+.. _class_RigidBody2D_add_force:
+
+- void  **add_force**  **(** :ref:`Vector2<class_vector2>` offset, :ref:`Vector2<class_vector2>` force  **)**
+
+Add a positioned force to the applied force and torque. As with :ref:`apply_impulse<class_RigidBody2D_apply_impulse>`, both the force and the offset from the body origin are in global coordinates.
+
 .. _class_RigidBody2D_apply_impulse:
 
-- void  **apply_impulse**  **(** :ref:`Vector2<class_vector2>` pos, :ref:`Vector2<class_vector2>` impulse  **)**
+- void  **apply_impulse**  **(** :ref:`Vector2<class_vector2>` offset, :ref:`Vector2<class_vector2>` impulse  **)**
 
-Apply a positioned impulse (which will be affected by the body mass and shape). This is the equivalent of hitting a billiard ball with a cue: a force that is applied once, and only once.
+Apply a positioned impulse (which will be affected by the body mass and shape). This is the equivalent of hitting a billiard ball with a cue: a force that is applied once, and only once. Both the impulse and the offset from the body origin are in global coordinates.
 
 .. _class_RigidBody2D_get_angular_damp:
 
@@ -160,6 +176,12 @@ Return the body angular velocity. This changes by physics granularity. See :ref:
 
 Return the applied force vector.
 
+.. _class_RigidBody2D_get_applied_torque:
+
+- :ref:`float<class_float>`  **get_applied_torque**  **(** **)** const
+
+Return the torque which is being applied to this body.
+
 .. _class_RigidBody2D_get_bounce:
 
 - :ref:`float<class_float>`  **get_bounce**  **(** **)** const
@@ -190,6 +212,12 @@ Return the body friction.
 
 Return the gravity factor.
 
+.. _class_RigidBody2D_get_inertia:
+
+- :ref:`float<class_float>`  **get_inertia**  **(** **)** const
+
+Return the body's moment of inertia. This is usually automatically computed from the mass and the shapes. Note that this doesn't seem to work in a ``_ready`` function: it apparently has not been auto-computed yet.
+
 .. _class_RigidBody2D_get_linear_damp:
 
 - :ref:`float<class_float>`  **get_linear_damp**  **(** **)** const
@@ -268,6 +296,12 @@ Set the body angular velocity. Can be used sporadically, but **DON'T SET THIS IN
 
 Set the applied force vector. This is the equivalent of pushing a box over the ground: the force applied is applied constantly.
 
+.. _class_RigidBody2D_set_applied_torque:
+
+- void  **set_applied_torque**  **(** :ref:`float<class_float>` torque  **)**
+
+Set a constant torque which will be applied to this body.
+
 .. _class_RigidBody2D_set_axis_velocity:
 
 - void  **set_axis_velocity**  **(** :ref:`Vector2<class_vector2>` axis_velocity  **)**
@@ -314,6 +348,12 @@ Set the body friction, from 0 (frictionless) to 1 (full friction).
 
 Set the gravity factor. This factor multiplies gravity intensity just for this body.
 
+.. _class_RigidBody2D_set_inertia:
+
+- void  **set_inertia**  **(** :ref:`float<class_float>` inertia  **)**
+
+Set the body's moment of inertia. This is like mass, but for rotation: it determines how much torque it takes to rotate the body. The moment of inertia is usually computed automatically from the mass and the shapes, but this function allows you to set a custom value. Set 0 (or negative) inertia to return to automatically computing it.
+
 .. _class_RigidBody2D_set_linear_damp:
 
 - void  **set_linear_damp**  **(** :ref:`float<class_float>` linear_damp  **)**

+ 1 - 7
classes/class_sample.rst

@@ -128,13 +128,7 @@ Return whether the current sample was created as stereo.
 
 Set sample data. Data must be little endian, no matter the host platform, and exactly as long as to fit all samples. The length of this array can be calculated as follows:
 
-Get the sample length (:ref:`get_length<class_Sample_get_length>`).
-
-If the sample format is FORMAT_PCM16, multiply it by 2.
-
-If the sample format is FORMAT_IMA_ADPCM, divide it by 2 (rounding any fraction up), then add 4.
-
-If the sample is stereo (:ref:`is_stereo<class_Sample_is_stereo>`), multiply it by 2.
+Get the sample length (:ref:`get_length<class_Sample_get_length>`). If the sample format is FORMAT_PCM16, multiply it by 2. If the sample format is FORMAT_IMA_ADPCM, divide it by 2 (rounding any fraction up), then add 4. If the sample is stereo (:ref:`is_stereo<class_Sample_is_stereo>`), multiply it by 2.
 
 .. _class_Sample_set_loop_begin:
 

+ 6 - 0
classes/class_samplelibrary.rst

@@ -23,6 +23,8 @@ Member Functions
 +------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`Sample<class_sample>`  | :ref:`get_sample<class_SampleLibrary_get_sample>`  **(** :ref:`String<class_string>` name  **)** const                                                    |
 +------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Array<class_array>`    | :ref:`get_sample_list<class_SampleLibrary_get_sample_list>`  **(** **)** const                                                                            |
++------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`bool<class_bool>`      | :ref:`has_sample<class_SampleLibrary_has_sample>`  **(** :ref:`String<class_string>` name  **)** const                                                    |
 +------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                         | :ref:`remove_sample<class_SampleLibrary_remove_sample>`  **(** :ref:`String<class_string>` name  **)**                                                    |
@@ -56,6 +58,10 @@ Add a sample to the library, with a given text ID.
 
 Return the sample from the library matching the given text ID. Return null if the sample is not found.
 
+.. _class_SampleLibrary_get_sample_list:
+
+- :ref:`Array<class_array>`  **get_sample_list**  **(** **)** const
+
 .. _class_SampleLibrary_has_sample:
 
 - :ref:`bool<class_bool>`  **has_sample**  **(** :ref:`String<class_string>` name  **)** const

+ 61 - 59
classes/class_scenetree.rst

@@ -18,69 +18,71 @@ Brief Description
 Member Functions
 ----------------
 
-+----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                             | :ref:`call_group<class_SceneTree_call_group>`  **(** :ref:`int<class_int>` flags, :ref:`String<class_string>` group, :ref:`String<class_string>` method, var arg0=NULL, var arg1=NULL, var arg2=NULL, var arg3=NULL, var arg4=NULL  **)** |
-+----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`            | :ref:`change_scene<class_SceneTree_change_scene>`  **(** :ref:`String<class_string>` path  **)**                                                                                                                                          |
-+----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`            | :ref:`change_scene_to<class_SceneTree_change_scene_to>`  **(** :ref:`PackedScene<class_packedscene>` packed_scene  **)**                                                                                                                  |
-+----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Node<class_node>`          | :ref:`get_current_scene<class_SceneTree_get_current_scene>`  **(** **)** const                                                                                                                                                            |
-+----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Object<class_object>`      | :ref:`get_edited_scene_root<class_SceneTree_get_edited_scene_root>`  **(** **)** const                                                                                                                                                    |
-+----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`            | :ref:`get_frame<class_SceneTree_get_frame>`  **(** **)** const                                                                                                                                                                            |
-+----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`            | :ref:`get_node_count<class_SceneTree_get_node_count>`  **(** **)** const                                                                                                                                                                  |
-+----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Array<class_array>`        | :ref:`get_nodes_in_group<class_SceneTree_get_nodes_in_group>`  **(** :ref:`String<class_string>` group  **)**                                                                                                                             |
-+----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Viewport<class_viewport>`  | :ref:`get_root<class_SceneTree_get_root>`  **(** **)** const                                                                                                                                                                              |
-+----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`          | :ref:`has_group<class_SceneTree_has_group>`  **(** :ref:`String<class_string>` name  **)** const                                                                                                                                          |
-+----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`          | :ref:`is_debugging_collisions_hint<class_SceneTree_is_debugging_collisions_hint>`  **(** **)** const                                                                                                                                      |
-+----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`          | :ref:`is_debugging_navigation_hint<class_SceneTree_is_debugging_navigation_hint>`  **(** **)** const                                                                                                                                      |
-+----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`          | :ref:`is_editor_hint<class_SceneTree_is_editor_hint>`  **(** **)** const                                                                                                                                                                  |
-+----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`          | :ref:`is_paused<class_SceneTree_is_paused>`  **(** **)** const                                                                                                                                                                            |
-+----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                             | :ref:`notify_group<class_SceneTree_notify_group>`  **(** :ref:`int<class_int>` call_flags, :ref:`String<class_string>` group, :ref:`int<class_int>` notification  **)**                                                                   |
-+----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                             | :ref:`queue_delete<class_SceneTree_queue_delete>`  **(** :ref:`Object<class_object>` obj  **)**                                                                                                                                           |
-+----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                             | :ref:`quit<class_SceneTree_quit>`  **(** **)**                                                                                                                                                                                            |
-+----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`            | :ref:`reload_current_scene<class_SceneTree_reload_current_scene>`  **(** **)**                                                                                                                                                            |
-+----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                             | :ref:`set_auto_accept_quit<class_SceneTree_set_auto_accept_quit>`  **(** :ref:`bool<class_bool>` enabled  **)**                                                                                                                           |
-+----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                             | :ref:`set_current_scene<class_SceneTree_set_current_scene>`  **(** :ref:`Node<class_node>` child_node  **)**                                                                                                                              |
-+----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                             | :ref:`set_debug_collisions_hint<class_SceneTree_set_debug_collisions_hint>`  **(** :ref:`bool<class_bool>` enable  **)**                                                                                                                  |
-+----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                             | :ref:`set_debug_navigation_hint<class_SceneTree_set_debug_navigation_hint>`  **(** :ref:`bool<class_bool>` enable  **)**                                                                                                                  |
-+----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                             | :ref:`set_edited_scene_root<class_SceneTree_set_edited_scene_root>`  **(** :ref:`Object<class_object>` scene  **)**                                                                                                                       |
-+----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                             | :ref:`set_editor_hint<class_SceneTree_set_editor_hint>`  **(** :ref:`bool<class_bool>` enable  **)**                                                                                                                                      |
-+----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                             | :ref:`set_group<class_SceneTree_set_group>`  **(** :ref:`int<class_int>` call_flags, :ref:`String<class_string>` group, :ref:`String<class_string>` property, var value  **)**                                                            |
-+----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                             | :ref:`set_input_as_handled<class_SceneTree_set_input_as_handled>`  **(** **)**                                                                                                                                                            |
-+----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                             | :ref:`set_pause<class_SceneTree_set_pause>`  **(** :ref:`bool<class_bool>` enable  **)**                                                                                                                                                  |
-+----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| 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  **)**                                                               |
-+----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
++----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                             | :ref:`call_group<class_SceneTree_call_group>`  **(** :ref:`int<class_int>` flags, :ref:`String<class_string>` group, :ref:`String<class_string>` method, :ref:`Variant<class_variant>` arg0=NULL, :ref:`Variant<class_variant>` arg1=NULL, :ref:`Variant<class_variant>` arg2=NULL, :ref:`Variant<class_variant>` arg3=NULL, :ref:`Variant<class_variant>` arg4=NULL  **)** |
++----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`            | :ref:`change_scene<class_SceneTree_change_scene>`  **(** :ref:`String<class_string>` path  **)**                                                                                                                                                                                                                                                                            |
++----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`            | :ref:`change_scene_to<class_SceneTree_change_scene_to>`  **(** :ref:`PackedScene<class_packedscene>` packed_scene  **)**                                                                                                                                                                                                                                                    |
++----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Node<class_node>`          | :ref:`get_current_scene<class_SceneTree_get_current_scene>`  **(** **)** const                                                                                                                                                                                                                                                                                              |
++----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Object<class_object>`      | :ref:`get_edited_scene_root<class_SceneTree_get_edited_scene_root>`  **(** **)** const                                                                                                                                                                                                                                                                                      |
++----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`            | :ref:`get_frame<class_SceneTree_get_frame>`  **(** **)** const                                                                                                                                                                                                                                                                                                              |
++----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`            | :ref:`get_node_count<class_SceneTree_get_node_count>`  **(** **)** const                                                                                                                                                                                                                                                                                                    |
++----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Array<class_array>`        | :ref:`get_nodes_in_group<class_SceneTree_get_nodes_in_group>`  **(** :ref:`String<class_string>` group  **)**                                                                                                                                                                                                                                                               |
++----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Viewport<class_viewport>`  | :ref:`get_root<class_SceneTree_get_root>`  **(** **)** const                                                                                                                                                                                                                                                                                                                |
++----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`          | :ref:`has_group<class_SceneTree_has_group>`  **(** :ref:`String<class_string>` name  **)** const                                                                                                                                                                                                                                                                            |
++----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`          | :ref:`is_debugging_collisions_hint<class_SceneTree_is_debugging_collisions_hint>`  **(** **)** const                                                                                                                                                                                                                                                                        |
++----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`          | :ref:`is_debugging_navigation_hint<class_SceneTree_is_debugging_navigation_hint>`  **(** **)** const                                                                                                                                                                                                                                                                        |
++----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`          | :ref:`is_editor_hint<class_SceneTree_is_editor_hint>`  **(** **)** const                                                                                                                                                                                                                                                                                                    |
++----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`          | :ref:`is_paused<class_SceneTree_is_paused>`  **(** **)** const                                                                                                                                                                                                                                                                                                              |
++----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                             | :ref:`notify_group<class_SceneTree_notify_group>`  **(** :ref:`int<class_int>` call_flags, :ref:`String<class_string>` group, :ref:`int<class_int>` notification  **)**                                                                                                                                                                                                     |
++----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                             | :ref:`queue_delete<class_SceneTree_queue_delete>`  **(** :ref:`Object<class_object>` obj  **)**                                                                                                                                                                                                                                                                             |
++----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                             | :ref:`quit<class_SceneTree_quit>`  **(** **)**                                                                                                                                                                                                                                                                                                                              |
++----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`            | :ref:`reload_current_scene<class_SceneTree_reload_current_scene>`  **(** **)**                                                                                                                                                                                                                                                                                              |
++----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                             | :ref:`set_auto_accept_quit<class_SceneTree_set_auto_accept_quit>`  **(** :ref:`bool<class_bool>` enabled  **)**                                                                                                                                                                                                                                                             |
++----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                             | :ref:`set_current_scene<class_SceneTree_set_current_scene>`  **(** :ref:`Node<class_node>` child_node  **)**                                                                                                                                                                                                                                                                |
++----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                             | :ref:`set_debug_collisions_hint<class_SceneTree_set_debug_collisions_hint>`  **(** :ref:`bool<class_bool>` enable  **)**                                                                                                                                                                                                                                                    |
++----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                             | :ref:`set_debug_navigation_hint<class_SceneTree_set_debug_navigation_hint>`  **(** :ref:`bool<class_bool>` enable  **)**                                                                                                                                                                                                                                                    |
++----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                             | :ref:`set_edited_scene_root<class_SceneTree_set_edited_scene_root>`  **(** :ref:`Object<class_object>` scene  **)**                                                                                                                                                                                                                                                         |
++----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                             | :ref:`set_editor_hint<class_SceneTree_set_editor_hint>`  **(** :ref:`bool<class_bool>` enable  **)**                                                                                                                                                                                                                                                                        |
++----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                             | :ref:`set_group<class_SceneTree_set_group>`  **(** :ref:`int<class_int>` call_flags, :ref:`String<class_string>` group, :ref:`String<class_string>` property, :ref:`Variant<class_variant>` value  **)**                                                                                                                                                                    |
++----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                             | :ref:`set_input_as_handled<class_SceneTree_set_input_as_handled>`  **(** **)**                                                                                                                                                                                                                                                                                              |
++----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                             | :ref:`set_pause<class_SceneTree_set_pause>`  **(** :ref:`bool<class_bool>` enable  **)**                                                                                                                                                                                                                                                                                    |
++----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| 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  **)**                                                                                                                                                                                                 |
++----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 
 Signals
 -------
 
+-  **files_dropped**  **(** :ref:`StringArray<class_stringarray>` files, :ref:`int<class_int>` screen  **)**
 -  **fixed_frame**  **(** **)**
 -  **idle_frame**  **(** **)**
+-  **node_configuration_warning_changed**  **(** :ref:`Object<class_object>` node  **)**
 -  **node_removed**  **(** :ref:`Object<class_object>` node  **)**
 -  **screen_resized**  **(** **)**
 -  **tree_changed**  **(** **)**
@@ -105,7 +107,7 @@ Member Function Description
 
 .. _class_SceneTree_call_group:
 
-- void  **call_group**  **(** :ref:`int<class_int>` flags, :ref:`String<class_string>` group, :ref:`String<class_string>` method, var arg0=NULL, var arg1=NULL, var arg2=NULL, var arg3=NULL, var arg4=NULL  **)**
+- void  **call_group**  **(** :ref:`int<class_int>` flags, :ref:`String<class_string>` group, :ref:`String<class_string>` method, :ref:`Variant<class_variant>` arg0=NULL, :ref:`Variant<class_variant>` arg1=NULL, :ref:`Variant<class_variant>` arg2=NULL, :ref:`Variant<class_variant>` arg3=NULL, :ref:`Variant<class_variant>` arg4=NULL  **)**
 
 .. _class_SceneTree_change_scene:
 
@@ -201,7 +203,7 @@ Member Function Description
 
 .. _class_SceneTree_set_group:
 
-- void  **set_group**  **(** :ref:`int<class_int>` call_flags, :ref:`String<class_string>` group, :ref:`String<class_string>` property, var value  **)**
+- void  **set_group**  **(** :ref:`int<class_int>` call_flags, :ref:`String<class_string>` group, :ref:`String<class_string>` property, :ref:`Variant<class_variant>` value  **)**
 
 .. _class_SceneTree_set_input_as_handled:
 

+ 2 - 4
classes/class_script.rst

@@ -29,7 +29,7 @@ Member Functions
 +------------------------------+------------------------------------------------------------------------------------------------------------+
 | :ref:`bool<class_bool>`      | :ref:`instance_has<class_Script_instance_has>`  **(** :ref:`Object<class_object>` base_object  **)** const |
 +------------------------------+------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`        | :ref:`reload<class_Script_reload>`  **(** **)**                                                            |
+| :ref:`int<class_int>`        | :ref:`reload<class_Script_reload>`  **(** :ref:`bool<class_bool>` keep_state=false  **)**                  |
 +------------------------------+------------------------------------------------------------------------------------------------------------+
 | void                         | :ref:`set_source_code<class_Script_set_source_code>`  **(** :ref:`String<class_string>` source  **)**      |
 +------------------------------+------------------------------------------------------------------------------------------------------------+
@@ -68,9 +68,7 @@ Return true if a given object uses an instance of this script.
 
 .. _class_Script_reload:
 
-- :ref:`int<class_int>`  **reload**  **(** **)**
-
-Reload the script. This will fail if there are existing instances.
+- :ref:`int<class_int>`  **reload**  **(** :ref:`bool<class_bool>` keep_state=false  **)**
 
 .. _class_Script_set_source_code:
 

+ 4 - 4
classes/class_scrollcontainer.rst

@@ -60,25 +60,25 @@ Return current vertical scroll value.
 
 - :ref:`bool<class_bool>`  **is_h_scroll_enabled**  **(** **)** const
 
-Return true if horizontal scrool is allowed.
+Return true if horizontal scroll is allowed.
 
 .. _class_ScrollContainer_is_v_scroll_enabled:
 
 - :ref:`bool<class_bool>`  **is_v_scroll_enabled**  **(** **)** const
 
-Return true if vertical scrool is allowed.
+Return true if vertical scroll is allowed.
 
 .. _class_ScrollContainer_set_enable_h_scroll:
 
 - void  **set_enable_h_scroll**  **(** :ref:`bool<class_bool>` enable  **)**
 
-Set allows horizontal scrool.
+Set allows horizontal scroll.
 
 .. _class_ScrollContainer_set_enable_v_scroll:
 
 - void  **set_enable_v_scroll**  **(** :ref:`bool<class_bool>` enable  **)**
 
-Set allows vertical scrool.
+Set allows vertical scroll.
 
 .. _class_ScrollContainer_set_h_scroll:
 

+ 6 - 6
classes/class_shadergraph.rst

@@ -45,7 +45,7 @@ Member Functions
 +------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                     | :ref:`default_get_value<class_ShaderGraph_default_get_value>`  **(** :ref:`int<class_int>` shader_type, :ref:`int<class_int>` id, :ref:`int<class_int>` param_id  **)**                                                                         |
 +------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                     | :ref:`default_set_value<class_ShaderGraph_default_set_value>`  **(** :ref:`int<class_int>` shader_type, :ref:`int<class_int>` id, :ref:`int<class_int>` param_id, var value  **)**                                                              |
+| void                                     | :ref:`default_set_value<class_ShaderGraph_default_set_value>`  **(** :ref:`int<class_int>` shader_type, :ref:`int<class_int>` id, :ref:`int<class_int>` param_id, :ref:`Variant<class_variant>` value  **)**                                    |
 +------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                     | :ref:`disconnect_node<class_ShaderGraph_disconnect_node>`  **(** :ref:`int<class_int>` shader_type, :ref:`int<class_int>` src_id, :ref:`int<class_int>` src_slot, :ref:`int<class_int>` dst_id, :ref:`int<class_int>` dst_slot  **)**           |
 +------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
@@ -63,7 +63,7 @@ Member Functions
 +------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`Vector2<class_vector2>`            | :ref:`node_get_pos<class_ShaderGraph_node_get_pos>`  **(** :ref:`int<class_int>` shader_type, :ref:`int<class_int>` id  **)** const                                                                                                             |
 +------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| Variant                                  | :ref:`node_get_state<class_ShaderGraph_node_get_state>`  **(** :ref:`int<class_int>` shader_type, :ref:`int<class_int>` id  **)** const                                                                                                         |
+| :ref:`Variant<class_variant>`            | :ref:`node_get_state<class_ShaderGraph_node_get_state>`  **(** :ref:`int<class_int>` shader_type, :ref:`int<class_int>` id  **)** const                                                                                                         |
 +------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`int<class_int>`                    | :ref:`node_get_type<class_ShaderGraph_node_get_type>`  **(** :ref:`int<class_int>` shader_type, :ref:`int<class_int>` id  **)** const                                                                                                           |
 +------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
@@ -71,7 +71,7 @@ Member Functions
 +------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                     | :ref:`node_set_pos<class_ShaderGraph_node_set_pos>`  **(** :ref:`int<class_int>` shader_type, :ref:`int<class_int>` id, :ref:`Vector2<class_vector2>` pos  **)**                                                                                |
 +------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                     | :ref:`node_set_state<class_ShaderGraph_node_set_state>`  **(** :ref:`int<class_int>` shader_type, :ref:`int<class_int>` id, var state  **)**                                                                                                    |
+| void                                     | :ref:`node_set_state<class_ShaderGraph_node_set_state>`  **(** :ref:`int<class_int>` shader_type, :ref:`int<class_int>` id, :ref:`Variant<class_variant>` state  **)**                                                                          |
 +------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`Color<class_color>`                | :ref:`rgb_const_node_get_value<class_ShaderGraph_rgb_const_node_get_value>`  **(** :ref:`int<class_int>` shader_type, :ref:`int<class_int>` id  **)** const                                                                                     |
 +------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
@@ -320,7 +320,7 @@ Member Function Description
 
 .. _class_ShaderGraph_default_set_value:
 
-- void  **default_set_value**  **(** :ref:`int<class_int>` shader_type, :ref:`int<class_int>` id, :ref:`int<class_int>` param_id, var value  **)**
+- void  **default_set_value**  **(** :ref:`int<class_int>` shader_type, :ref:`int<class_int>` id, :ref:`int<class_int>` param_id, :ref:`Variant<class_variant>` value  **)**
 
 .. _class_ShaderGraph_disconnect_node:
 
@@ -356,7 +356,7 @@ Member Function Description
 
 .. _class_ShaderGraph_node_get_state:
 
-- Variant  **node_get_state**  **(** :ref:`int<class_int>` shader_type, :ref:`int<class_int>` id  **)** const
+- :ref:`Variant<class_variant>`  **node_get_state**  **(** :ref:`int<class_int>` shader_type, :ref:`int<class_int>` id  **)** const
 
 .. _class_ShaderGraph_node_get_type:
 
@@ -372,7 +372,7 @@ Member Function Description
 
 .. _class_ShaderGraph_node_set_state:
 
-- void  **node_set_state**  **(** :ref:`int<class_int>` shader_type, :ref:`int<class_int>` id, var state  **)**
+- void  **node_set_state**  **(** :ref:`int<class_int>` shader_type, :ref:`int<class_int>` id, :ref:`Variant<class_variant>` state  **)**
 
 .. _class_ShaderGraph_rgb_const_node_get_value:
 

+ 11 - 11
classes/class_shadermaterial.rst

@@ -18,15 +18,15 @@ Brief Description
 Member Functions
 ----------------
 
-+------------------------------+-------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Shader<class_shader>`  | :ref:`get_shader<class_ShaderMaterial_get_shader>`  **(** **)** const                                                         |
-+------------------------------+-------------------------------------------------------------------------------------------------------------------------------+
-| Variant                      | :ref:`get_shader_param<class_ShaderMaterial_get_shader_param>`  **(** :ref:`String<class_string>` param  **)** const          |
-+------------------------------+-------------------------------------------------------------------------------------------------------------------------------+
-| void                         | :ref:`set_shader<class_ShaderMaterial_set_shader>`  **(** :ref:`Shader<class_shader>` shader  **)**                           |
-+------------------------------+-------------------------------------------------------------------------------------------------------------------------------+
-| void                         | :ref:`set_shader_param<class_ShaderMaterial_set_shader_param>`  **(** :ref:`String<class_string>` param, Variant value  **)** |
-+------------------------------+-------------------------------------------------------------------------------------------------------------------------------+
++--------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Shader<class_shader>`    | :ref:`get_shader<class_ShaderMaterial_get_shader>`  **(** **)** const                                                                               |
++--------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Variant<class_variant>`  | :ref:`get_shader_param<class_ShaderMaterial_get_shader_param>`  **(** :ref:`String<class_string>` param  **)** const                                |
++--------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                           | :ref:`set_shader<class_ShaderMaterial_set_shader>`  **(** :ref:`Shader<class_shader>` shader  **)**                                                 |
++--------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                           | :ref:`set_shader_param<class_ShaderMaterial_set_shader_param>`  **(** :ref:`String<class_string>` param, :ref:`Variant<class_variant>` value  **)** |
++--------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------+
 
 Member Function Description
 ---------------------------
@@ -37,7 +37,7 @@ Member Function Description
 
 .. _class_ShaderMaterial_get_shader_param:
 
-- Variant  **get_shader_param**  **(** :ref:`String<class_string>` param  **)** const
+- :ref:`Variant<class_variant>`  **get_shader_param**  **(** :ref:`String<class_string>` param  **)** const
 
 .. _class_ShaderMaterial_set_shader:
 
@@ -45,6 +45,6 @@ Member Function Description
 
 .. _class_ShaderMaterial_set_shader_param:
 
-- void  **set_shader_param**  **(** :ref:`String<class_string>` param, Variant value  **)**
+- void  **set_shader_param**  **(** :ref:`String<class_string>` param, :ref:`Variant<class_variant>` value  **)**
 
 

+ 15 - 15
classes/class_shape2d.rst

@@ -20,19 +20,19 @@ Base class for all 2D Shapes.
 Member Functions
 ----------------
 
-+----------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`    | :ref:`collide<class_Shape2D_collide>`  **(** :ref:`Matrix32<class_matrix32>` local_xform, :ref:`Shape2D<class_shape2d>` with_shape, :ref:`Matrix32<class_matrix32>` shape_xform  **)**                                                                                                                                                   |
-+----------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| Variant                    | :ref:`collide_and_get_contacts<class_Shape2D_collide_and_get_contacts>`  **(** :ref:`Matrix32<class_matrix32>` local_xform, :ref:`Shape2D<class_shape2d>` with_shape, :ref:`Matrix32<class_matrix32>` shape_xform  **)**                                                                                                                 |
-+----------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`    | :ref:`collide_with_motion<class_Shape2D_collide_with_motion>`  **(** :ref:`Matrix32<class_matrix32>` local_xform, :ref:`Vector2<class_vector2>` local_motion, :ref:`Shape2D<class_shape2d>` with_shape, :ref:`Matrix32<class_matrix32>` shape_xform, :ref:`Vector2<class_vector2>` shape_motion  **)**                                   |
-+----------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| Variant                    | :ref:`collide_with_motion_and_get_contacts<class_Shape2D_collide_with_motion_and_get_contacts>`  **(** :ref:`Matrix32<class_matrix32>` local_xform, :ref:`Vector2<class_vector2>` local_motion, :ref:`Shape2D<class_shape2d>` with_shape, :ref:`Matrix32<class_matrix32>` shape_xform, :ref:`Vector2<class_vector2>` shape_motion  **)** |
-+----------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`  | :ref:`get_custom_solver_bias<class_Shape2D_get_custom_solver_bias>`  **(** **)** const                                                                                                                                                                                                                                                   |
-+----------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                       | :ref:`set_custom_solver_bias<class_Shape2D_set_custom_solver_bias>`  **(** :ref:`float<class_float>` bias  **)**                                                                                                                                                                                                                         |
-+----------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
++--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`        | :ref:`collide<class_Shape2D_collide>`  **(** :ref:`Matrix32<class_matrix32>` local_xform, :ref:`Shape2D<class_shape2d>` with_shape, :ref:`Matrix32<class_matrix32>` shape_xform  **)**                                                                                                                                                   |
++--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Variant<class_variant>`  | :ref:`collide_and_get_contacts<class_Shape2D_collide_and_get_contacts>`  **(** :ref:`Matrix32<class_matrix32>` local_xform, :ref:`Shape2D<class_shape2d>` with_shape, :ref:`Matrix32<class_matrix32>` shape_xform  **)**                                                                                                                 |
++--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`        | :ref:`collide_with_motion<class_Shape2D_collide_with_motion>`  **(** :ref:`Matrix32<class_matrix32>` local_xform, :ref:`Vector2<class_vector2>` local_motion, :ref:`Shape2D<class_shape2d>` with_shape, :ref:`Matrix32<class_matrix32>` shape_xform, :ref:`Vector2<class_vector2>` shape_motion  **)**                                   |
++--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Variant<class_variant>`  | :ref:`collide_with_motion_and_get_contacts<class_Shape2D_collide_with_motion_and_get_contacts>`  **(** :ref:`Matrix32<class_matrix32>` local_xform, :ref:`Vector2<class_vector2>` local_motion, :ref:`Shape2D<class_shape2d>` with_shape, :ref:`Matrix32<class_matrix32>` shape_xform, :ref:`Vector2<class_vector2>` shape_motion  **)** |
++--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`      | :ref:`get_custom_solver_bias<class_Shape2D_get_custom_solver_bias>`  **(** **)** const                                                                                                                                                                                                                                                   |
++--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                           | :ref:`set_custom_solver_bias<class_Shape2D_set_custom_solver_bias>`  **(** :ref:`float<class_float>` bias  **)**                                                                                                                                                                                                                         |
++--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 
 Description
 -----------
@@ -52,7 +52,7 @@ This method needs the transformation matrix for this shape (``local_xform``), th
 
 .. _class_Shape2D_collide_and_get_contacts:
 
-- Variant  **collide_and_get_contacts**  **(** :ref:`Matrix32<class_matrix32>` local_xform, :ref:`Shape2D<class_shape2d>` with_shape, :ref:`Matrix32<class_matrix32>` shape_xform  **)**
+- :ref:`Variant<class_variant>`  **collide_and_get_contacts**  **(** :ref:`Matrix32<class_matrix32>` local_xform, :ref:`Shape2D<class_shape2d>` with_shape, :ref:`Matrix32<class_matrix32>` shape_xform  **)**
 
 Return a list of the points where this shape touches another. If there are no collisions, the list is empty.
 
@@ -68,7 +68,7 @@ This method needs the transformation matrix for this shape (``local_xform``), th
 
 .. _class_Shape2D_collide_with_motion_and_get_contacts:
 
-- Variant  **collide_with_motion_and_get_contacts**  **(** :ref:`Matrix32<class_matrix32>` local_xform, :ref:`Vector2<class_vector2>` local_motion, :ref:`Shape2D<class_shape2d>` with_shape, :ref:`Matrix32<class_matrix32>` shape_xform, :ref:`Vector2<class_vector2>` shape_motion  **)**
+- :ref:`Variant<class_variant>`  **collide_with_motion_and_get_contacts**  **(** :ref:`Matrix32<class_matrix32>` local_xform, :ref:`Vector2<class_vector2>` local_motion, :ref:`Shape2D<class_shape2d>` with_shape, :ref:`Matrix32<class_matrix32>` shape_xform, :ref:`Vector2<class_vector2>` shape_motion  **)**
 
 Return a list of the points where this shape would touch another, if a given movement was applied. If there are no collisions, the list is empty.
 

+ 56 - 0
classes/class_shortcut.rst

@@ -0,0 +1,56 @@
+.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. DO NOT EDIT THIS FILE, but the doc/base/classes.xml source instead.
+
+.. _class_ShortCut:
+
+ShortCut
+========
+
+**Inherits:** :ref:`Resource<class_resource>` **<** :ref:`Reference<class_reference>` **<** :ref:`Object<class_object>`
+
+**Category:** Core
+
+Brief Description
+-----------------
+
+
+
+Member Functions
+----------------
+
++--------------------------------------+--------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_string>`          | :ref:`get_as_text<class_ShortCut_get_as_text>`  **(** **)** const                                            |
++--------------------------------------+--------------------------------------------------------------------------------------------------------------+
+| :ref:`InputEvent<class_inputevent>`  | :ref:`get_shortcut<class_ShortCut_get_shortcut>`  **(** **)** const                                          |
++--------------------------------------+--------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`              | :ref:`is_shortcut<class_ShortCut_is_shortcut>`  **(** :ref:`InputEvent<class_inputevent>` event  **)** const |
++--------------------------------------+--------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`              | :ref:`is_valid<class_ShortCut_is_valid>`  **(** **)** const                                                  |
++--------------------------------------+--------------------------------------------------------------------------------------------------------------+
+| void                                 | :ref:`set_shortcut<class_ShortCut_set_shortcut>`  **(** :ref:`InputEvent<class_inputevent>` event  **)**     |
++--------------------------------------+--------------------------------------------------------------------------------------------------------------+
+
+Member Function Description
+---------------------------
+
+.. _class_ShortCut_get_as_text:
+
+- :ref:`String<class_string>`  **get_as_text**  **(** **)** const
+
+.. _class_ShortCut_get_shortcut:
+
+- :ref:`InputEvent<class_inputevent>`  **get_shortcut**  **(** **)** const
+
+.. _class_ShortCut_is_shortcut:
+
+- :ref:`bool<class_bool>`  **is_shortcut**  **(** :ref:`InputEvent<class_inputevent>` event  **)** const
+
+.. _class_ShortCut_is_valid:
+
+- :ref:`bool<class_bool>`  **is_valid**  **(** **)** const
+
+.. _class_ShortCut_set_shortcut:
+
+- void  **set_shortcut**  **(** :ref:`InputEvent<class_inputevent>` event  **)**
+
+

+ 80 - 80
classes/class_spatial.rst

@@ -8,7 +8,7 @@ Spatial
 
 **Inherits:** :ref:`Node<class_node>` **<** :ref:`Object<class_object>`
 
-**Inherited By:** :ref:`Joint<class_joint>`, :ref:`RayCast<class_raycast>`, :ref:`Camera<class_camera>`, :ref:`BoneAttachment<class_boneattachment>`, :ref:`CollisionShape<class_collisionshape>`, :ref:`Path<class_path>`, :ref:`VisualInstance<class_visualinstance>`, :ref:`VehicleWheel<class_vehiclewheel>`, :ref:`Position3D<class_position3d>`, :ref:`ProximityGroup<class_proximitygroup>`, :ref:`SpatialPlayer<class_spatialplayer>`, :ref:`WorldEnvironment<class_worldenvironment>`, :ref:`PathFollow<class_pathfollow>`, :ref:`NavigationMeshInstance<class_navigationmeshinstance>`, :ref:`VisibilityNotifier<class_visibilitynotifier>`, :ref:`Navigation<class_navigation>`, :ref:`CollisionPolygon<class_collisionpolygon>`, :ref:`GridMap<class_gridmap>`, :ref:`Skeleton<class_skeleton>`, :ref:`CollisionObject<class_collisionobject>`
+**Inherited By:** :ref:`Joint<class_joint>`, :ref:`RayCast<class_raycast>`, :ref:`Camera<class_camera>`, :ref:`BoneAttachment<class_boneattachment>`, :ref:`CollisionShape<class_collisionshape>`, :ref:`Path<class_path>`, :ref:`VisualInstance<class_visualinstance>`, :ref:`VehicleWheel<class_vehiclewheel>`, :ref:`Position3D<class_position3d>`, :ref:`ProximityGroup<class_proximitygroup>`, :ref:`SpatialPlayer<class_spatialplayer>`, :ref:`WorldEnvironment<class_worldenvironment>`, :ref:`PathFollow<class_pathfollow>`, :ref:`NavigationMeshInstance<class_navigationmeshinstance>`, :ref:`Listener<class_listener>`, :ref:`InverseKinematics<class_inversekinematics>`, :ref:`VisibilityNotifier<class_visibilitynotifier>`, :ref:`Navigation<class_navigation>`, :ref:`CollisionPolygon<class_collisionpolygon>`, :ref:`GridMap<class_gridmap>`, :ref:`Skeleton<class_skeleton>`, :ref:`CollisionObject<class_collisionobject>`
 
 **Category:** Core
 
@@ -20,83 +20,83 @@ Base class for all 3D nodes.
 Member Functions
 ----------------
 
-+------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| SpatialGizmo                       | :ref:`get_gizmo<class_Spatial_get_gizmo>`  **(** **)** const                                                                                                                    |
-+------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Transform<class_transform>`  | :ref:`get_global_transform<class_Spatial_get_global_transform>`  **(** **)** const                                                                                              |
-+------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Object<class_object>`        | :ref:`get_parent_spatial<class_Spatial_get_parent_spatial>`  **(** **)** const                                                                                                  |
-+------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Vector3<class_vector3>`      | :ref:`get_rotation<class_Spatial_get_rotation>`  **(** **)** const                                                                                                              |
-+------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Vector3<class_vector3>`      | :ref:`get_rotation_deg<class_Spatial_get_rotation_deg>`  **(** **)** const                                                                                                      |
-+------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Vector3<class_vector3>`      | :ref:`get_scale<class_Spatial_get_scale>`  **(** **)** const                                                                                                                    |
-+------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Transform<class_transform>`  | :ref:`get_transform<class_Spatial_get_transform>`  **(** **)** const                                                                                                            |
-+------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Vector3<class_vector3>`      | :ref:`get_translation<class_Spatial_get_translation>`  **(** **)** const                                                                                                        |
-+------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :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_translate<class_Spatial_global_translate>`  **(** :ref:`Vector3<class_vector3>` offset  **)**                                                                      |
-+------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                               | :ref:`hide<class_Spatial_hide>`  **(** **)**                                                                                                                                    |
-+------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`            | :ref:`is_hidden<class_Spatial_is_hidden>`  **(** **)** const                                                                                                                    |
-+------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`            | :ref:`is_local_transform_notification_enabled<class_Spatial_is_local_transform_notification_enabled>`  **(** **)** const                                                        |
-+------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`            | :ref:`is_set_as_toplevel<class_Spatial_is_set_as_toplevel>`  **(** **)** const                                                                                                  |
-+------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`            | :ref:`is_visible<class_Spatial_is_visible>`  **(** **)** const                                                                                                                  |
-+------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                               | :ref:`look_at<class_Spatial_look_at>`  **(** :ref:`Vector3<class_vector3>` target, :ref:`Vector3<class_vector3>` up  **)**                                                      |
-+------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                               | :ref:`look_at_from_pos<class_Spatial_look_at_from_pos>`  **(** :ref:`Vector3<class_vector3>` pos, :ref:`Vector3<class_vector3>` target, :ref:`Vector3<class_vector3>` up  **)** |
-+------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| 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_x<class_Spatial_rotate_x>`  **(** :ref:`float<class_float>` radians  **)**                                                                                         |
-+------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| 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>` radians  **)**                                                                                         |
-+------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                               | :ref:`set_as_toplevel<class_Spatial_set_as_toplevel>`  **(** :ref:`bool<class_bool>` enable  **)**                                                                              |
-+------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                               | :ref:`set_gizmo<class_Spatial_set_gizmo>`  **(** SpatialGizmo gizmo  **)**                                                                                                      |
-+------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                               | :ref:`set_global_transform<class_Spatial_set_global_transform>`  **(** :ref:`Transform<class_transform>` global  **)**                                                          |
-+------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                               | :ref:`set_hidden<class_Spatial_set_hidden>`  **(** :ref:`bool<class_bool>` hidden  **)**                                                                                        |
-+------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                               | :ref:`set_identity<class_Spatial_set_identity>`  **(** **)**                                                                                                                    |
-+------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                               | :ref:`set_ignore_transform_notification<class_Spatial_set_ignore_transform_notification>`  **(** :ref:`bool<class_bool>` enabled  **)**                                         |
-+------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                               | :ref:`set_notify_local_transform<class_Spatial_set_notify_local_transform>`  **(** :ref:`bool<class_bool>` enable  **)**                                                        |
-+------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                               | :ref:`set_rotation<class_Spatial_set_rotation>`  **(** :ref:`Vector3<class_vector3>` rotation_rad  **)**                                                                        |
-+------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                               | :ref:`set_rotation_deg<class_Spatial_set_rotation_deg>`  **(** :ref:`Vector3<class_vector3>` rotation_deg  **)**                                                                |
-+------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                               | :ref:`set_scale<class_Spatial_set_scale>`  **(** :ref:`Vector3<class_vector3>` scale  **)**                                                                                     |
-+------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                               | :ref:`set_transform<class_Spatial_set_transform>`  **(** :ref:`Transform<class_transform>` local  **)**                                                                         |
-+------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                               | :ref:`set_translation<class_Spatial_set_translation>`  **(** :ref:`Vector3<class_vector3>` translation  **)**                                                                   |
-+------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                               | :ref:`show<class_Spatial_show>`  **(** **)**                                                                                                                                    |
-+------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                               | :ref:`translate<class_Spatial_translate>`  **(** :ref:`Vector3<class_vector3>` offset  **)**                                                                                    |
-+------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                               | :ref:`update_gizmo<class_Spatial_update_gizmo>`  **(** **)**                                                                                                                    |
-+------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
++------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`SpatialGizmo<class_spatialgizmo>`  | :ref:`get_gizmo<class_Spatial_get_gizmo>`  **(** **)** const                                                                                                                    |
++------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Transform<class_transform>`        | :ref:`get_global_transform<class_Spatial_get_global_transform>`  **(** **)** const                                                                                              |
++------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Object<class_object>`              | :ref:`get_parent_spatial<class_Spatial_get_parent_spatial>`  **(** **)** const                                                                                                  |
++------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Vector3<class_vector3>`            | :ref:`get_rotation<class_Spatial_get_rotation>`  **(** **)** const                                                                                                              |
++------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Vector3<class_vector3>`            | :ref:`get_rotation_deg<class_Spatial_get_rotation_deg>`  **(** **)** const                                                                                                      |
++------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Vector3<class_vector3>`            | :ref:`get_scale<class_Spatial_get_scale>`  **(** **)** const                                                                                                                    |
++------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Transform<class_transform>`        | :ref:`get_transform<class_Spatial_get_transform>`  **(** **)** const                                                                                                            |
++------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Vector3<class_vector3>`            | :ref:`get_translation<class_Spatial_get_translation>`  **(** **)** const                                                                                                        |
++------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :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_translate<class_Spatial_global_translate>`  **(** :ref:`Vector3<class_vector3>` offset  **)**                                                                      |
++------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                     | :ref:`hide<class_Spatial_hide>`  **(** **)**                                                                                                                                    |
++------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                  | :ref:`is_hidden<class_Spatial_is_hidden>`  **(** **)** const                                                                                                                    |
++------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                  | :ref:`is_local_transform_notification_enabled<class_Spatial_is_local_transform_notification_enabled>`  **(** **)** const                                                        |
++------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                  | :ref:`is_set_as_toplevel<class_Spatial_is_set_as_toplevel>`  **(** **)** const                                                                                                  |
++------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                  | :ref:`is_visible<class_Spatial_is_visible>`  **(** **)** const                                                                                                                  |
++------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                     | :ref:`look_at<class_Spatial_look_at>`  **(** :ref:`Vector3<class_vector3>` target, :ref:`Vector3<class_vector3>` up  **)**                                                      |
++------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                     | :ref:`look_at_from_pos<class_Spatial_look_at_from_pos>`  **(** :ref:`Vector3<class_vector3>` pos, :ref:`Vector3<class_vector3>` target, :ref:`Vector3<class_vector3>` up  **)** |
++------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| 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_x<class_Spatial_rotate_x>`  **(** :ref:`float<class_float>` radians  **)**                                                                                         |
++------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| 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>` radians  **)**                                                                                         |
++------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                     | :ref:`set_as_toplevel<class_Spatial_set_as_toplevel>`  **(** :ref:`bool<class_bool>` enable  **)**                                                                              |
++------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                     | :ref:`set_gizmo<class_Spatial_set_gizmo>`  **(** :ref:`SpatialGizmo<class_spatialgizmo>` gizmo  **)**                                                                           |
++------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                     | :ref:`set_global_transform<class_Spatial_set_global_transform>`  **(** :ref:`Transform<class_transform>` global  **)**                                                          |
++------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                     | :ref:`set_hidden<class_Spatial_set_hidden>`  **(** :ref:`bool<class_bool>` hidden  **)**                                                                                        |
++------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                     | :ref:`set_identity<class_Spatial_set_identity>`  **(** **)**                                                                                                                    |
++------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                     | :ref:`set_ignore_transform_notification<class_Spatial_set_ignore_transform_notification>`  **(** :ref:`bool<class_bool>` enabled  **)**                                         |
++------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                     | :ref:`set_notify_local_transform<class_Spatial_set_notify_local_transform>`  **(** :ref:`bool<class_bool>` enable  **)**                                                        |
++------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                     | :ref:`set_rotation<class_Spatial_set_rotation>`  **(** :ref:`Vector3<class_vector3>` rotation_rad  **)**                                                                        |
++------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                     | :ref:`set_rotation_deg<class_Spatial_set_rotation_deg>`  **(** :ref:`Vector3<class_vector3>` rotation_deg  **)**                                                                |
++------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                     | :ref:`set_scale<class_Spatial_set_scale>`  **(** :ref:`Vector3<class_vector3>` scale  **)**                                                                                     |
++------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                     | :ref:`set_transform<class_Spatial_set_transform>`  **(** :ref:`Transform<class_transform>` local  **)**                                                                         |
++------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                     | :ref:`set_translation<class_Spatial_set_translation>`  **(** :ref:`Vector3<class_vector3>` translation  **)**                                                                   |
++------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                     | :ref:`show<class_Spatial_show>`  **(** **)**                                                                                                                                    |
++------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                     | :ref:`translate<class_Spatial_translate>`  **(** :ref:`Vector3<class_vector3>` offset  **)**                                                                                    |
++------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                     | :ref:`update_gizmo<class_Spatial_update_gizmo>`  **(** **)**                                                                                                                    |
++------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 
 Signals
 -------
@@ -121,7 +121,7 @@ Member Function Description
 
 .. _class_Spatial_get_gizmo:
 
-- SpatialGizmo  **get_gizmo**  **(** **)** const
+- :ref:`SpatialGizmo<class_spatialgizmo>`  **get_gizmo**  **(** **)** const
 
 .. _class_Spatial_get_global_transform:
 
@@ -223,7 +223,7 @@ Return the local transform, relative to the bone parent.
 
 .. _class_Spatial_set_gizmo:
 
-- void  **set_gizmo**  **(** SpatialGizmo gizmo  **)**
+- void  **set_gizmo**  **(** :ref:`SpatialGizmo<class_spatialgizmo>` gizmo  **)**
 
 .. _class_Spatial_set_global_transform:
 

+ 19 - 0
classes/class_spatialgizmo.rst

@@ -0,0 +1,19 @@
+.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. DO NOT EDIT THIS FILE, but the doc/base/classes.xml source instead.
+
+.. _class_SpatialGizmo:
+
+SpatialGizmo
+============
+
+**Inherits:** :ref:`Reference<class_reference>` **<** :ref:`Object<class_object>`
+
+**Inherited By:** :ref:`EditorSpatialGizmo<class_editorspatialgizmo>`
+
+**Category:** Core
+
+Brief Description
+-----------------
+
+
+

+ 1 - 0
classes/class_sprite.rst

@@ -68,6 +68,7 @@ Signals
 -------
 
 -  **frame_changed**  **(** **)**
+-  **texture_changed**  **(** **)**
 
 Description
 -----------

Einige Dateien werden nicht angezeigt, da zu viele Dateien in diesem Diff geändert wurden.