瀏覽代碼

Update class reference

Poommetee Ketson 8 年之前
父節點
當前提交
cd7d443fb2
共有 100 個文件被更改,包括 2968 次插入1809 次删除
  1. 40 22
      classes/[email protected]
  2. 3 4
      classes/class_@global scope.rst
  3. 1 1
      classes/class_acceptdialog.rst
  4. 78 0
      classes/class_area.rst
  5. 26 0
      classes/class_area2d.rst
  6. 12 5
      classes/class_array.rst
  7. 0 7
      classes/class_arraymesh.rst
  8. 39 2
      classes/class_astar.rst
  9. 1 1
      classes/class_audioeffect.rst
  10. 7 7
      classes/class_audioeffectcompressor.rst
  11. 7 7
      classes/class_audioeffectlimiter.rst
  12. 6 0
      classes/class_audioserver.rst
  13. 2 2
      classes/class_audiostream.rst
  14. 49 49
      classes/class_audiostreamplayer.rst
  15. 152 0
      classes/class_audiostreamplayer2d.rst
  16. 281 0
      classes/class_audiostreamplayer3d.rst
  17. 56 0
      classes/class_audiostreamrandompitch.rst
  18. 2 2
      classes/class_basis.rst
  19. 15 0
      classes/class_camera.rst
  20. 39 0
      classes/class_camera2d.rst
  21. 139 127
      classes/class_canvasitem.rst
  22. 68 0
      classes/class_canvasitemmaterial.rst
  23. 41 45
      classes/class_collisionobject.rst
  24. 36 60
      classes/class_collisionobject2d.rst
  25. 10 23
      classes/class_collisionpolygon.rst
  26. 22 34
      classes/class_collisionpolygon2d.rst
  27. 10 17
      classes/class_collisionshape.rst
  28. 28 28
      classes/class_collisionshape2d.rst
  29. 47 4
      classes/class_control.rst
  30. 183 0
      classes/class_curve.rst
  31. 1 1
      classes/class_curve3d.rst
  32. 12 38
      classes/class_curvetexture.rst
  33. 67 0
      classes/class_editorplugin.rst
  34. 9 9
      classes/class_environment.rst
  35. 12 0
      classes/class_file.rst
  36. 1 1
      classes/class_filedialog.rst
  37. 5 0
      classes/class_gdfunctionstate.rst
  38. 1 1
      classes/class_geometryinstance.rst
  39. 13 0
      classes/class_giprobe.rst
  40. 13 0
      classes/class_giprobedata.rst
  41. 0 150
      classes/class_globalconfig.rst
  42. 12 73
      classes/class_gradienttexture.rst
  43. 1 1
      classes/class_graphedit.rst
  44. 1 1
      classes/class_httpclient.rst
  45. 40 8
      classes/class_image.rst
  46. 1 1
      classes/class_imagetexture.rst
  47. 11 0
      classes/class_inputevent.rst
  48. 1 1
      classes/class_inputmap.rst
  49. 15 2
      classes/class_itemlist.rst
  50. 94 146
      classes/class_kinematicbody.rst
  51. 95 89
      classes/class_kinematicbody2d.rst
  52. 27 1
      classes/class_material.rst
  53. 11 0
      classes/class_mesh.rst
  54. 6 6
      classes/class_meshdatatool.rst
  55. 31 13
      classes/class_meshinstance.rst
  56. 1 1
      classes/class_multimesh.rst
  57. 1 1
      classes/class_mutex.rst
  58. 33 0
      classes/class_ninepatchrect.rst
  59. 7 12
      classes/class_node.rst
  60. 1 1
      classes/class_node2d.rst
  61. 21 5
      classes/class_object.rst
  62. 4 4
      classes/class_optionbutton.rst
  63. 7 1
      classes/class_os.rst
  64. 1 1
      classes/class_packetpeerudp.rst
  65. 2 0
      classes/class_panelcontainer.rst
  66. 0 108
      classes/class_particleattractor2d.rst
  67. 20 1
      classes/class_particles.rst
  68. 160 341
      classes/class_particles2d.rst
  69. 16 1
      classes/class_particlesmaterial.rst
  70. 2 2
      classes/class_physics2ddirectspacestate.rst
  71. 16 46
      classes/class_physics2dserver.rst
  72. 2 2
      classes/class_physics2dshapequeryparameters.rst
  73. 21 55
      classes/class_physicsbody2d.rst
  74. 44 28
      classes/class_poolbytearray.rst
  75. 2 2
      classes/class_poolrealarray.rst
  76. 2 2
      classes/class_poolstringarray.rst
  77. 19 2
      classes/class_popupmenu.rst
  78. 150 0
      classes/class_projectsettings.rst
  79. 1 1
      classes/class_rect2.rst
  80. 2 2
      classes/class_rect3.rst
  81. 1 1
      classes/class_reference.rst
  82. 22 22
      classes/class_regex.rst
  83. 57 5
      classes/class_remotetransform.rst
  84. 57 5
      classes/class_remotetransform2d.rst
  85. 1 1
      classes/class_resource.rst
  86. 98 79
      classes/class_richtextlabel.rst
  87. 2 2
      classes/class_scenestate.rst
  88. 6 0
      classes/class_scenetree.rst
  89. 52 0
      classes/class_scripteditor.rst
  90. 1 1
      classes/class_scrollcontainer.rst
  91. 10 10
      classes/class_shadermaterial.rst
  92. 1 1
      classes/class_shape.rst
  93. 13 0
      classes/class_slider.rst
  94. 1 1
      classes/class_spatial.rst
  95. 101 27
      classes/class_spatialmaterial.rst
  96. 56 0
      classes/class_spatialvelocitytracker.rst
  97. 2 2
      classes/class_splitcontainer.rst
  98. 68 42
      classes/class_sprite.rst
  99. 1 1
      classes/class_sprite3d.rst
  100. 3 1
      classes/class_spritebase3d.rst

+ 40 - 22
classes/[email protected]

@@ -168,8 +168,10 @@ Numeric Constants
 -----------------
 -----------------
 
 
 - **PI** = **3.141593** --- Constant that represents how many times the diameter of a circumference fits around its perimeter.
 - **PI** = **3.141593** --- Constant that represents how many times the diameter of a circumference fits around its perimeter.
-- **INF** = **inf**
-- **NAN** = **nan**
+- **INF** = **inf** --- A positive infinity. (For negative infinity, use -INF).
+- **NAN** = **nan** --- Macro constant that expands to an expression of type float that represents a NaN.
+
+The NaN values are used to identify undefined or non-representable values for floating-point elements, such as the square root of negative numbers or the result of 0/0.
 
 
 Description
 Description
 -----------
 -----------
@@ -193,19 +195,19 @@ Make a color from red, green, blue and alpha. Arguments can range from 0 to 255.
 
 
 - :ref:`float<class_float>`  **abs**  **(** :ref:`float<class_float>` s  **)**
 - :ref:`float<class_float>`  **abs**  **(** :ref:`float<class_float>` s  **)**
 
 
-Remove sign (works for integer and float).
+Returns the absolute value of parameter s  (i.e. unsigned value, works for integer and float).
 
 
 .. _class_@GDScript_acos:
 .. _class_@GDScript_acos:
 
 
 - :ref:`float<class_float>`  **acos**  **(** :ref:`float<class_float>` s  **)**
 - :ref:`float<class_float>`  **acos**  **(** :ref:`float<class_float>` s  **)**
 
 
-Arc-cosine.
+Returns the principal value of the arc cosine of s, expressed in radians. In trigonometrics, arc cosine is the inverse operation of cosine.
 
 
 .. _class_@GDScript_asin:
 .. _class_@GDScript_asin:
 
 
 - :ref:`float<class_float>`  **asin**  **(** :ref:`float<class_float>` s  **)**
 - :ref:`float<class_float>`  **asin**  **(** :ref:`float<class_float>` s  **)**
 
 
-Arc-sine.
+Returns the principal value of the arc sine of s, expressed in radians. In trigonometrics, arc sine is the inverse operation of sine.
 
 
 .. _class_@GDScript_assert:
 .. _class_@GDScript_assert:
 
 
@@ -217,13 +219,13 @@ Assert that the condition is true. If the condition is false, generates an error
 
 
 - :ref:`float<class_float>`  **atan**  **(** :ref:`float<class_float>` s  **)**
 - :ref:`float<class_float>`  **atan**  **(** :ref:`float<class_float>` s  **)**
 
 
-Arc-tangent.
+Returns the principal value of the arc tangent of s, expressed in radians. In trigonometrics, arc tangent is the inverse operation of tangent. Notice that because of the sign ambiguity, the function cannot determine with certainty in which quadrant the angle falls only by its tangent value. See :ref:`atan2<class_@GDScript_atan2>` for an alternative that takes a fractional argument instead.
 
 
 .. _class_@GDScript_atan2:
 .. _class_@GDScript_atan2:
 
 
 - :ref:`float<class_float>`  **atan2**  **(** :ref:`float<class_float>` x, :ref:`float<class_float>` y  **)**
 - :ref:`float<class_float>`  **atan2**  **(** :ref:`float<class_float>` x, :ref:`float<class_float>` y  **)**
 
 
-Arc-tangent that takes a 2D vector as argument, returns the full -pi to +pi range.
+Returns the principal value of the arc tangent of y/x, expressed in radians. To compute the value, the function takes into account the sign of both arguments in order to determine the quadrant.
 
 
 .. _class_@GDScript_bytes2var:
 .. _class_@GDScript_bytes2var:
 
 
@@ -235,7 +237,7 @@ Decode a byte array back to a value.
 
 
 - :ref:`float<class_float>`  **ceil**  **(** :ref:`float<class_float>` s  **)**
 - :ref:`float<class_float>`  **ceil**  **(** :ref:`float<class_float>` s  **)**
 
 
-Ceiling (rounds up to nearest integer).
+Rounds s upward, returning the smallest integral value that is not less than s.
 
 
 .. _class_@GDScript_char:
 .. _class_@GDScript_char:
 
 
@@ -245,7 +247,7 @@ Ceiling (rounds up to nearest integer).
 
 
 - :ref:`float<class_float>`  **clamp**  **(** :ref:`float<class_float>` val, :ref:`float<class_float>` min, :ref:`float<class_float>` max  **)**
 - :ref:`float<class_float>`  **clamp**  **(** :ref:`float<class_float>` val, :ref:`float<class_float>` min, :ref:`float<class_float>` max  **)**
 
 
-Clamp both values to a range.
+Clamps a value between a minimum and maximum value.
 
 
 .. _class_@GDScript_convert:
 .. _class_@GDScript_convert:
 
 
@@ -257,13 +259,13 @@ Convert from a type to another in the best way possible. The "type" parameter us
 
 
 - :ref:`float<class_float>`  **cos**  **(** :ref:`float<class_float>` s  **)**
 - :ref:`float<class_float>`  **cos**  **(** :ref:`float<class_float>` s  **)**
 
 
-Standard cosine function.
+Returns the cosine of an angle of s radians.
 
 
 .. _class_@GDScript_cosh:
 .. _class_@GDScript_cosh:
 
 
 - :ref:`float<class_float>`  **cosh**  **(** :ref:`float<class_float>` s  **)**
 - :ref:`float<class_float>`  **cosh**  **(** :ref:`float<class_float>` s  **)**
 
 
-Hyperbolic cosine.
+Returns the hyperbolic cosine of s.
 
 
 .. _class_@GDScript_db2linear:
 .. _class_@GDScript_db2linear:
 
 
@@ -305,19 +307,25 @@ Easing function, based on exponent. 0 is constant, 1 is linear, 0 to 1 is ease-i
 
 
 - :ref:`float<class_float>`  **exp**  **(** :ref:`float<class_float>` s  **)**
 - :ref:`float<class_float>`  **exp**  **(** :ref:`float<class_float>` s  **)**
 
 
-Exponential logarithm.
+Returns the base-e exponential function of s, which is e raised to the power s: e^s.
 
 
 .. _class_@GDScript_floor:
 .. _class_@GDScript_floor:
 
 
 - :ref:`float<class_float>`  **floor**  **(** :ref:`float<class_float>` s  **)**
 - :ref:`float<class_float>`  **floor**  **(** :ref:`float<class_float>` s  **)**
 
 
-Floor (rounds down to nearest integer).
+Rounds s downward, returning the largest integral value that is not greater than s.
 
 
 .. _class_@GDScript_fmod:
 .. _class_@GDScript_fmod:
 
 
 - :ref:`float<class_float>`  **fmod**  **(** :ref:`float<class_float>` x, :ref:`float<class_float>` y  **)**
 - :ref:`float<class_float>`  **fmod**  **(** :ref:`float<class_float>` x, :ref:`float<class_float>` y  **)**
 
 
-Module (remainder of x/y).
+Returns the floating-point remainder of x/y (rounded towards zero):
+
+::
+
+    fmod = x - tquot \* y
+
+Where tquot is the truncated (i.e., rounded towards zero) result of: x/y.
 
 
 .. _class_@GDScript_fposmod:
 .. _class_@GDScript_fposmod:
 
 
@@ -353,10 +361,14 @@ Get an object by its ID.
 
 
 - :ref:`float<class_float>`  **is_inf**  **(** :ref:`float<class_float>` s  **)**
 - :ref:`float<class_float>`  **is_inf**  **(** :ref:`float<class_float>` s  **)**
 
 
+Returns whether s is an infinity value (either positive infinity or negative infinity).
+
 .. _class_@GDScript_is_nan:
 .. _class_@GDScript_is_nan:
 
 
 - :ref:`float<class_float>`  **is_nan**  **(** :ref:`float<class_float>` s  **)**
 - :ref:`float<class_float>`  **is_nan**  **(** :ref:`float<class_float>` s  **)**
 
 
+Returns whether s is a NaN (Not-A-Number) value.
+
 .. _class_@GDScript_lerp:
 .. _class_@GDScript_lerp:
 
 
 - :ref:`float<class_float>`  **lerp**  **(** :ref:`float<class_float>` from, :ref:`float<class_float>` to, :ref:`float<class_float>` weight  **)**
 - :ref:`float<class_float>`  **lerp**  **(** :ref:`float<class_float>` from, :ref:`float<class_float>` to, :ref:`float<class_float>` weight  **)**
@@ -403,7 +415,9 @@ Return the nearest larger power of 2 for an integer.
 
 
 - :ref:`Variant<class_variant>`  **parse_json**  **(** :ref:`String<class_string>` json  **)**
 - :ref:`Variant<class_variant>`  **parse_json**  **(** :ref:`String<class_string>` json  **)**
 
 
-Parse json text to a Variant (use :ref:`typeof<class_@GDScript_typeof>` to check if it is what you expect).
+Parse JSON text to a Variant (use :ref:`typeof<class_@GDScript_typeof>` to check if it is what you expect).
+
+Be aware that the JSON specification does not define integer or float types, but only a number type. Therefore, parsing a JSON text will convert every numerical values to :ref:`float<class_float>` types.
 
 
 .. _class_@GDScript_pow:
 .. _class_@GDScript_pow:
 
 
@@ -499,7 +513,7 @@ Return an array with the given range. Range can be 1 argument N (0 to N-1), two
 
 
 - :ref:`float<class_float>`  **round**  **(** :ref:`float<class_float>` s  **)**
 - :ref:`float<class_float>`  **round**  **(** :ref:`float<class_float>` s  **)**
 
 
-Round to nearest integer.
+Returns the integral value that is nearest to s, with halfway cases rounded away from zero.
 
 
 .. _class_@GDScript_seed:
 .. _class_@GDScript_seed:
 
 
@@ -517,19 +531,19 @@ Return sign (-1 or +1).
 
 
 - :ref:`float<class_float>`  **sin**  **(** :ref:`float<class_float>` s  **)**
 - :ref:`float<class_float>`  **sin**  **(** :ref:`float<class_float>` s  **)**
 
 
-Standard sine function.
+Returns the sine of an angle of s radians.
 
 
 .. _class_@GDScript_sinh:
 .. _class_@GDScript_sinh:
 
 
 - :ref:`float<class_float>`  **sinh**  **(** :ref:`float<class_float>` s  **)**
 - :ref:`float<class_float>`  **sinh**  **(** :ref:`float<class_float>` s  **)**
 
 
-Hyperbolic sine.
+Returns the hyperbolic sine of s.
 
 
 .. _class_@GDScript_sqrt:
 .. _class_@GDScript_sqrt:
 
 
 - :ref:`float<class_float>`  **sqrt**  **(** :ref:`float<class_float>` s  **)**
 - :ref:`float<class_float>`  **sqrt**  **(** :ref:`float<class_float>` s  **)**
 
 
-Square root.
+Returns the square root of s.
 
 
 .. _class_@GDScript_stepify:
 .. _class_@GDScript_stepify:
 
 
@@ -541,7 +555,7 @@ Snap float value to a given step.
 
 
 - :ref:`String<class_string>`  **str**  **(** :ref:`Variant<class_variant>` what, :ref:`Variant<class_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.
+Convert one or more arguments to string in the best way possible.
 
 
 .. _class_@GDScript_str2var:
 .. _class_@GDScript_str2var:
 
 
@@ -553,13 +567,13 @@ Convert a formatted string that was returned by :ref:`var2str<class_@GDScript_va
 
 
 - :ref:`float<class_float>`  **tan**  **(** :ref:`float<class_float>` s  **)**
 - :ref:`float<class_float>`  **tan**  **(** :ref:`float<class_float>` s  **)**
 
 
-Standard tangent function.
+Returns the tangent of an angle of s radians.
 
 
 .. _class_@GDScript_tanh:
 .. _class_@GDScript_tanh:
 
 
 - :ref:`float<class_float>`  **tanh**  **(** :ref:`float<class_float>` s  **)**
 - :ref:`float<class_float>`  **tanh**  **(** :ref:`float<class_float>` s  **)**
 
 
-Hyperbolic tangent.
+Returns the hyperbolic tangent of s.
 
 
 .. _class_@GDScript_to_json:
 .. _class_@GDScript_to_json:
 
 
@@ -581,6 +595,8 @@ Return the internal type of the given Variant object, using the TYPE\_\* enum in
 
 
 - :ref:`Variant<class_variant>`  **validate_json**  **(** :ref:`String<class_string>` json  **)**
 - :ref:`Variant<class_variant>`  **validate_json**  **(** :ref:`String<class_string>` json  **)**
 
 
+This method is used to validate the structure and data types of a piece of JSON, similar to XML Schema for XML.
+
 .. _class_@GDScript_var2bytes:
 .. _class_@GDScript_var2bytes:
 
 
 - :ref:`PoolByteArray<class_poolbytearray>`  **var2bytes**  **(** :ref:`Variant<class_variant>` var  **)**
 - :ref:`PoolByteArray<class_poolbytearray>`  **var2bytes**  **(** :ref:`Variant<class_variant>` var  **)**
@@ -599,6 +615,8 @@ Convert a value to a formatted string that can later be parsed using :ref:`str2v
 
 
 Return a weak reference to an object.
 Return a weak reference to an object.
 
 
+A weak reference to an object is not enough to keep the object alive: when the only remaining references to a referent are weak references, garbage collection is free to destroy the referent and reuse its memory for something else. However, until the object is actually destroyed the weak reference may return the object even if there are no strong references to it.
+
 .. _class_@GDScript_yield:
 .. _class_@GDScript_yield:
 
 
 - :ref:`GDFunctionState<class_gdfunctionstate>`  **yield**  **(** :ref:`Object<class_object>` object, :ref:`String<class_string>` signal  **)**
 - :ref:`GDFunctionState<class_gdfunctionstate>`  **yield**  **(** :ref:`Object<class_object>` object, :ref:`String<class_string>` signal  **)**

+ 3 - 4
classes/class_@global scope.rst

@@ -17,10 +17,10 @@ Member Variables
 ----------------
 ----------------
 
 
 - :ref:`AudioServer<class_audioserver>` **AudioServer** - [AudioServer] singleton
 - :ref:`AudioServer<class_audioserver>` **AudioServer** - [AudioServer] singleton
-- :ref:`ClassDB<class_classdb>` **ClassDB**
-- :ref:`Engine<class_engine>` **Engine**
+- :ref:`ClassDB<class_classdb>` **ClassDB** - [ClassDB] singleton
+- :ref:`Engine<class_engine>` **Engine** - [Engine] singleton
 - :ref:`Geometry<class_geometry>` **Geometry** - [Geometry] singleton
 - :ref:`Geometry<class_geometry>` **Geometry** - [Geometry] singleton
-- :ref:`GlobalConfig<class_globalconfig>` **GlobalConfig**
+- :ref:`ProjectSettings<class_projectsettings>` **ProjectSettings** - [ProjectSettings] singleton
 - :ref:`IP<class_ip>` **IP** - [IP] singleton
 - :ref:`IP<class_ip>` **IP** - [IP] singleton
 - :ref:`Input<class_input>` **Input** - [Input] singleton
 - :ref:`Input<class_input>` **Input** - [Input] singleton
 - :ref:`InputMap<class_inputmap>` **InputMap** - [InputMap] singleton
 - :ref:`InputMap<class_inputmap>` **InputMap** - [InputMap] singleton
@@ -93,7 +93,6 @@ Numeric Constants
 - **KEY_F14** = **16777257** --- F14 Key
 - **KEY_F14** = **16777257** --- F14 Key
 - **KEY_F15** = **16777258** --- F15 Key
 - **KEY_F15** = **16777258** --- F15 Key
 - **KEY_F16** = **16777259** --- F16 Key
 - **KEY_F16** = **16777259** --- F16 Key
-- **KEY_KP_ENTER** = **16777344** --- Enter Key on Numpad
 - **KEY_KP_MULTIPLY** = **16777345** --- Multiply Key on Numpad
 - **KEY_KP_MULTIPLY** = **16777345** --- Multiply Key on Numpad
 - **KEY_KP_DIVIDE** = **16777346** --- Divide Key on Numpad
 - **KEY_KP_DIVIDE** = **16777346** --- Divide Key on Numpad
 - **KEY_KP_SUBTRACT** = **16777347** --- Subtract Key on Numpad
 - **KEY_KP_SUBTRACT** = **16777347** --- Subtract Key on Numpad

+ 1 - 1
classes/class_acceptdialog.rst

@@ -70,7 +70,7 @@ Member Function Description
 
 
 Add custom button to the dialog and return the created button.
 Add custom button to the dialog and return the created button.
 
 
-The button titled with *text* and the *action* will be passed to :ref:`custom_action<class_custom_action>` signal when it is pressed.
+The button titled with *text* and the *action* will be passed to custom_action signal when it is pressed.
 
 
 .. _class_AcceptDialog_add_cancel:
 .. _class_AcceptDialog_add_cancel:
 
 

+ 78 - 0
classes/class_area.rst

@@ -21,6 +21,8 @@ Member Functions
 +--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`float<class_float>`      | :ref:`get_angular_damp<class_Area_get_angular_damp>`  **(** **)** const                                                                   |
 | :ref:`float<class_float>`      | :ref:`get_angular_damp<class_Area_get_angular_damp>`  **(** **)** const                                                                   |
 +--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_string>`    | :ref:`get_audio_bus<class_Area_get_audio_bus>`  **(** **)** const                                                                         |
++--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`int<class_int>`          | :ref:`get_collision_layer<class_Area_get_collision_layer>`  **(** **)** const                                                             |
 | :ref:`int<class_int>`          | :ref:`get_collision_layer<class_Area_get_collision_layer>`  **(** **)** const                                                             |
 +--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`bool<class_bool>`        | :ref:`get_collision_layer_bit<class_Area_get_collision_layer_bit>`  **(** :ref:`int<class_int>` bit  **)** const                          |
 | :ref:`bool<class_bool>`        | :ref:`get_collision_layer_bit<class_Area_get_collision_layer_bit>`  **(** :ref:`int<class_int>` bit  **)** const                          |
@@ -43,6 +45,12 @@ Member Functions
 +--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`float<class_float>`      | :ref:`get_priority<class_Area_get_priority>`  **(** **)** const                                                                           |
 | :ref:`float<class_float>`      | :ref:`get_priority<class_Area_get_priority>`  **(** **)** const                                                                           |
 +--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`      | :ref:`get_reverb_amount<class_Area_get_reverb_amount>`  **(** **)** const                                                                 |
++--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_string>`    | :ref:`get_reverb_bus<class_Area_get_reverb_bus>`  **(** **)** const                                                                       |
++--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`      | :ref:`get_reverb_uniformity<class_Area_get_reverb_uniformity>`  **(** **)** const                                                         |
++--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`int<class_int>`          | :ref:`get_space_override_mode<class_Area_get_space_override_mode>`  **(** **)** 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_gravity_a_point<class_Area_is_gravity_a_point>`  **(** **)** const                                                               |
@@ -51,12 +59,20 @@ Member Functions
 +--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`bool<class_bool>`        | :ref:`is_monitoring<class_Area_is_monitoring>`  **(** **)** const                                                                         |
 | :ref:`bool<class_bool>`        | :ref:`is_monitoring<class_Area_is_monitoring>`  **(** **)** const                                                                         |
 +--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`        | :ref:`is_overriding_audio_bus<class_Area_is_overriding_audio_bus>`  **(** **)** const                                                     |
++--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`        | :ref:`is_using_reverb_bus<class_Area_is_using_reverb_bus>`  **(** **)** const                                                             |
++--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`bool<class_bool>`        | :ref:`overlaps_area<class_Area_overlaps_area>`  **(** :ref:`Object<class_object>` area  **)** 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                                       |
 | :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_angular_damp<class_Area_set_angular_damp>`  **(** :ref:`float<class_float>` angular_damp  **)**                                 |
 +--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
+| void                           | :ref:`set_audio_bus<class_Area_set_audio_bus>`  **(** :ref:`String<class_string>` name  **)**                                             |
++--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
+| void                           | :ref:`set_audio_bus_override<class_Area_set_audio_bus_override>`  **(** :ref:`bool<class_bool>` enable  **)**                             |
++--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
 | void                           | :ref:`set_collision_layer<class_Area_set_collision_layer>`  **(** :ref:`int<class_int>` collision_layer  **)**                            |
 | void                           | :ref:`set_collision_layer<class_Area_set_collision_layer>`  **(** :ref:`int<class_int>` collision_layer  **)**                            |
 +--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
 | void                           | :ref:`set_collision_layer_bit<class_Area_set_collision_layer_bit>`  **(** :ref:`int<class_int>` bit, :ref:`bool<class_bool>` value  **)** |
 | void                           | :ref:`set_collision_layer_bit<class_Area_set_collision_layer_bit>`  **(** :ref:`int<class_int>` bit, :ref:`bool<class_bool>` value  **)** |
@@ -81,8 +97,16 @@ Member Functions
 +--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
 | void                           | :ref:`set_priority<class_Area_set_priority>`  **(** :ref:`float<class_float>` priority  **)**                                             |
 | void                           | :ref:`set_priority<class_Area_set_priority>`  **(** :ref:`float<class_float>` priority  **)**                                             |
 +--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
+| void                           | :ref:`set_reverb_amount<class_Area_set_reverb_amount>`  **(** :ref:`float<class_float>` amount  **)**                                     |
++--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
+| void                           | :ref:`set_reverb_bus<class_Area_set_reverb_bus>`  **(** :ref:`String<class_string>` name  **)**                                           |
++--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
+| void                           | :ref:`set_reverb_uniformity<class_Area_set_reverb_uniformity>`  **(** :ref:`float<class_float>` amount  **)**                             |
++--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
 | void                           | :ref:`set_space_override_mode<class_Area_set_space_override_mode>`  **(** :ref:`int<class_int>` enable  **)**                             |
 | void                           | :ref:`set_space_override_mode<class_Area_set_space_override_mode>`  **(** :ref:`int<class_int>` enable  **)**                             |
 +--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
+| void                           | :ref:`set_use_reverb_bus<class_Area_set_use_reverb_bus>`  **(** :ref:`bool<class_bool>` enable  **)**                                     |
++--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
 
 
 Signals
 Signals
 -------
 -------
@@ -116,6 +140,8 @@ Member Variables
 ----------------
 ----------------
 
 
 - :ref:`float<class_float>` **angular_damp**
 - :ref:`float<class_float>` **angular_damp**
+- :ref:`String<class_string>` **audio_bus_name**
+- :ref:`bool<class_bool>` **audio_bus_override**
 - :ref:`int<class_int>` **collision_layer**
 - :ref:`int<class_int>` **collision_layer**
 - :ref:`int<class_int>` **collision_mask**
 - :ref:`int<class_int>` **collision_mask**
 - :ref:`float<class_float>` **gravity**
 - :ref:`float<class_float>` **gravity**
@@ -126,6 +152,10 @@ Member Variables
 - :ref:`bool<class_bool>` **monitorable**
 - :ref:`bool<class_bool>` **monitorable**
 - :ref:`bool<class_bool>` **monitoring**
 - :ref:`bool<class_bool>` **monitoring**
 - :ref:`int<class_int>` **priority**
 - :ref:`int<class_int>` **priority**
+- :ref:`float<class_float>` **reverb_bus_amount**
+- :ref:`bool<class_bool>` **reverb_bus_enable**
+- :ref:`String<class_string>` **reverb_bus_name**
+- :ref:`float<class_float>` **reverb_bus_uniformity**
 - :ref:`int<class_int>` **space_override**
 - :ref:`int<class_int>` **space_override**
 
 
 Description
 Description
@@ -142,6 +172,10 @@ Member Function Description
 
 
 Return the angular damp rate.
 Return the angular damp rate.
 
 
+.. _class_Area_get_audio_bus:
+
+- :ref:`String<class_string>`  **get_audio_bus**  **(** **)** const
+
 .. _class_Area_get_collision_layer:
 .. _class_Area_get_collision_layer:
 
 
 - :ref:`int<class_int>`  **get_collision_layer**  **(** **)** const
 - :ref:`int<class_int>`  **get_collision_layer**  **(** **)** const
@@ -208,6 +242,18 @@ Return a list of the bodies (:ref:`PhysicsBody<class_physicsbody>`) that are tot
 
 
 Return the processing order of this area.
 Return the processing order of this area.
 
 
+.. _class_Area_get_reverb_amount:
+
+- :ref:`float<class_float>`  **get_reverb_amount**  **(** **)** const
+
+.. _class_Area_get_reverb_bus:
+
+- :ref:`String<class_string>`  **get_reverb_bus**  **(** **)** const
+
+.. _class_Area_get_reverb_uniformity:
+
+- :ref:`float<class_float>`  **get_reverb_uniformity**  **(** **)** const
+
 .. _class_Area_get_space_override_mode:
 .. _class_Area_get_space_override_mode:
 
 
 - :ref:`int<class_int>`  **get_space_override_mode**  **(** **)** const
 - :ref:`int<class_int>`  **get_space_override_mode**  **(** **)** const
@@ -232,6 +278,14 @@ Return whether this area can be detected by other, monitoring, areas.
 
 
 Return whether this area detects bodies/areas entering/exiting it.
 Return whether this area detects bodies/areas entering/exiting it.
 
 
+.. _class_Area_is_overriding_audio_bus:
+
+- :ref:`bool<class_bool>`  **is_overriding_audio_bus**  **(** **)** const
+
+.. _class_Area_is_using_reverb_bus:
+
+- :ref:`bool<class_bool>`  **is_using_reverb_bus**  **(** **)** const
+
 .. _class_Area_overlaps_area:
 .. _class_Area_overlaps_area:
 
 
 - :ref:`bool<class_bool>`  **overlaps_area**  **(** :ref:`Object<class_object>` area  **)** const
 - :ref:`bool<class_bool>`  **overlaps_area**  **(** :ref:`Object<class_object>` area  **)** const
@@ -252,6 +306,14 @@ 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.
 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_audio_bus:
+
+- void  **set_audio_bus**  **(** :ref:`String<class_string>` name  **)**
+
+.. _class_Area_set_audio_bus_override:
+
+- void  **set_audio_bus_override**  **(** :ref:`bool<class_bool>` enable  **)**
+
 .. _class_Area_set_collision_layer:
 .. _class_Area_set_collision_layer:
 
 
 - void  **set_collision_layer**  **(** :ref:`int<class_int>` collision_layer  **)**
 - void  **set_collision_layer**  **(** :ref:`int<class_int>` collision_layer  **)**
@@ -336,6 +398,18 @@ Set the order in which the area is processed. Greater values mean the area gets
 
 
 Areas with the same priority value get evaluated in an unpredictable order, and should be differentiated if evaluation order is to be important.
 Areas with the same priority value get evaluated in an unpredictable order, and should be differentiated if evaluation order is to be important.
 
 
+.. _class_Area_set_reverb_amount:
+
+- void  **set_reverb_amount**  **(** :ref:`float<class_float>` amount  **)**
+
+.. _class_Area_set_reverb_bus:
+
+- void  **set_reverb_bus**  **(** :ref:`String<class_string>` name  **)**
+
+.. _class_Area_set_reverb_uniformity:
+
+- void  **set_reverb_uniformity**  **(** :ref:`float<class_float>` amount  **)**
+
 .. _class_Area_set_space_override_mode:
 .. _class_Area_set_space_override_mode:
 
 
 - void  **set_space_override_mode**  **(** :ref:`int<class_int>` enable  **)**
 - void  **set_space_override_mode**  **(** :ref:`int<class_int>` enable  **)**
@@ -352,4 +426,8 @@ AREA_SPACE_OVERRIDE_REPLACE: This area replaces any gravity/damp, even the defau
 
 
 AREA_SPACE_OVERRIDE_REPLACE_COMBINE: This area replaces any gravity/damp calculated so far, but keeps calculating the rest of the areas, down to the default one.
 AREA_SPACE_OVERRIDE_REPLACE_COMBINE: This area replaces any gravity/damp calculated so far, but keeps calculating the rest of the areas, down to the default one.
 
 
+.. _class_Area_set_use_reverb_bus:
+
+- void  **set_use_reverb_bus**  **(** :ref:`bool<class_bool>` enable  **)**
+
 
 

+ 26 - 0
classes/class_area2d.rst

@@ -21,6 +21,8 @@ Member Functions
 +--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`float<class_float>`      | :ref:`get_angular_damp<class_Area2D_get_angular_damp>`  **(** **)** const                                                                   |
 | :ref:`float<class_float>`      | :ref:`get_angular_damp<class_Area2D_get_angular_damp>`  **(** **)** const                                                                   |
 +--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_string>`    | :ref:`get_audio_bus<class_Area2D_get_audio_bus>`  **(** **)** const                                                                         |
++--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`int<class_int>`          | :ref:`get_collision_layer<class_Area2D_get_collision_layer>`  **(** **)** const                                                             |
 | :ref:`int<class_int>`          | :ref:`get_collision_layer<class_Area2D_get_collision_layer>`  **(** **)** const                                                             |
 +--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`bool<class_bool>`        | :ref:`get_collision_layer_bit<class_Area2D_get_collision_layer_bit>`  **(** :ref:`int<class_int>` bit  **)** const                          |
 | :ref:`bool<class_bool>`        | :ref:`get_collision_layer_bit<class_Area2D_get_collision_layer_bit>`  **(** :ref:`int<class_int>` bit  **)** const                          |
@@ -51,12 +53,18 @@ Member Functions
 +--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`bool<class_bool>`        | :ref:`is_monitoring<class_Area2D_is_monitoring>`  **(** **)** const                                                                         |
 | :ref:`bool<class_bool>`        | :ref:`is_monitoring<class_Area2D_is_monitoring>`  **(** **)** const                                                                         |
 +--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`        | :ref:`is_overriding_audio_bus<class_Area2D_is_overriding_audio_bus>`  **(** **)** const                                                     |
++--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`bool<class_bool>`        | :ref:`overlaps_area<class_Area2D_overlaps_area>`  **(** :ref:`Object<class_object>` area  **)** const                                       |
 | :ref:`bool<class_bool>`        | :ref:`overlaps_area<class_Area2D_overlaps_area>`  **(** :ref:`Object<class_object>` area  **)** const                                       |
 +--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`bool<class_bool>`        | :ref:`overlaps_body<class_Area2D_overlaps_body>`  **(** :ref:`Object<class_object>` body  **)** const                                       |
 | :ref:`bool<class_bool>`        | :ref:`overlaps_body<class_Area2D_overlaps_body>`  **(** :ref:`Object<class_object>` body  **)** const                                       |
 +--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
 | void                           | :ref:`set_angular_damp<class_Area2D_set_angular_damp>`  **(** :ref:`float<class_float>` angular_damp  **)**                                 |
 | void                           | :ref:`set_angular_damp<class_Area2D_set_angular_damp>`  **(** :ref:`float<class_float>` angular_damp  **)**                                 |
 +--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
+| void                           | :ref:`set_audio_bus<class_Area2D_set_audio_bus>`  **(** :ref:`String<class_string>` name  **)**                                             |
++--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
+| void                           | :ref:`set_audio_bus_override<class_Area2D_set_audio_bus_override>`  **(** :ref:`bool<class_bool>` enable  **)**                             |
++--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
 | void                           | :ref:`set_collision_layer<class_Area2D_set_collision_layer>`  **(** :ref:`int<class_int>` collision_layer  **)**                            |
 | void                           | :ref:`set_collision_layer<class_Area2D_set_collision_layer>`  **(** :ref:`int<class_int>` collision_layer  **)**                            |
 +--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
 | void                           | :ref:`set_collision_layer_bit<class_Area2D_set_collision_layer_bit>`  **(** :ref:`int<class_int>` bit, :ref:`bool<class_bool>` value  **)** |
 | void                           | :ref:`set_collision_layer_bit<class_Area2D_set_collision_layer_bit>`  **(** :ref:`int<class_int>` bit, :ref:`bool<class_bool>` value  **)** |
@@ -116,6 +124,8 @@ Member Variables
 ----------------
 ----------------
 
 
 - :ref:`float<class_float>` **angular_damp**
 - :ref:`float<class_float>` **angular_damp**
+- :ref:`String<class_string>` **audio_bus_name**
+- :ref:`bool<class_bool>` **audio_bus_override**
 - :ref:`int<class_int>` **collision_layer**
 - :ref:`int<class_int>` **collision_layer**
 - :ref:`int<class_int>` **collision_mask**
 - :ref:`int<class_int>` **collision_mask**
 - :ref:`float<class_float>` **gravity**
 - :ref:`float<class_float>` **gravity**
@@ -142,6 +152,10 @@ Member Function Description
 
 
 Return the angular damp rate.
 Return the angular damp rate.
 
 
+.. _class_Area2D_get_audio_bus:
+
+- :ref:`String<class_string>`  **get_audio_bus**  **(** **)** const
+
 .. _class_Area2D_get_collision_layer:
 .. _class_Area2D_get_collision_layer:
 
 
 - :ref:`int<class_int>`  **get_collision_layer**  **(** **)** const
 - :ref:`int<class_int>`  **get_collision_layer**  **(** **)** const
@@ -232,6 +246,10 @@ Return whether this area can be detected by other, monitoring, areas.
 
 
 Return whether this area detects bodies/areas entering/exiting it.
 Return whether this area detects bodies/areas entering/exiting it.
 
 
+.. _class_Area2D_is_overriding_audio_bus:
+
+- :ref:`bool<class_bool>`  **is_overriding_audio_bus**  **(** **)** const
+
 .. _class_Area2D_overlaps_area:
 .. _class_Area2D_overlaps_area:
 
 
 - :ref:`bool<class_bool>`  **overlaps_area**  **(** :ref:`Object<class_object>` area  **)** const
 - :ref:`bool<class_bool>`  **overlaps_area**  **(** :ref:`Object<class_object>` area  **)** const
@@ -252,6 +270,14 @@ 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.
 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_Area2D_set_audio_bus:
+
+- void  **set_audio_bus**  **(** :ref:`String<class_string>` name  **)**
+
+.. _class_Area2D_set_audio_bus_override:
+
+- void  **set_audio_bus_override**  **(** :ref:`bool<class_bool>` enable  **)**
+
 .. _class_Area2D_set_collision_layer:
 .. _class_Area2D_set_collision_layer:
 
 
 - void  **set_collision_layer**  **(** :ref:`int<class_int>` collision_layer  **)**
 - void  **set_collision_layer**  **(** :ref:`int<class_int>` collision_layer  **)**

+ 12 - 5
classes/class_array.rst

@@ -90,19 +90,19 @@ Member Function Description
 
 
 - :ref:`Array<class_array>`  **Array**  **(** :ref:`PoolColorArray<class_poolcolorarray>` from  **)**
 - :ref:`Array<class_array>`  **Array**  **(** :ref:`PoolColorArray<class_poolcolorarray>` from  **)**
 
 
-Construct an array from a :ref:`PoolByteArray<class_poolbytearray>`.
+Construct an array from a :ref:`PoolColorArray<class_poolcolorarray>`.
 
 
 .. _class_Array_Array:
 .. _class_Array_Array:
 
 
 - :ref:`Array<class_array>`  **Array**  **(** :ref:`PoolVector3Array<class_poolvector3array>` from  **)**
 - :ref:`Array<class_array>`  **Array**  **(** :ref:`PoolVector3Array<class_poolvector3array>` from  **)**
 
 
-Construct an array from a :ref:`PoolByteArray<class_poolbytearray>`.
+Construct an array from a :ref:`PoolVector3Array<class_poolvector3array>`.
 
 
 .. _class_Array_Array:
 .. _class_Array_Array:
 
 
 - :ref:`Array<class_array>`  **Array**  **(** :ref:`PoolVector2Array<class_poolvector2array>` from  **)**
 - :ref:`Array<class_array>`  **Array**  **(** :ref:`PoolVector2Array<class_poolvector2array>` from  **)**
 
 
-Construct an array from a :ref:`PoolByteArray<class_poolbytearray>`.
+Construct an array from a :ref:`PoolVector2Array<class_poolvector2array>`.
 
 
 .. _class_Array_Array:
 .. _class_Array_Array:
 
 
@@ -120,7 +120,7 @@ Construct an array from a :ref:`PoolRealArray<class_poolrealarray>`.
 
 
 - :ref:`Array<class_array>`  **Array**  **(** :ref:`PoolIntArray<class_poolintarray>` from  **)**
 - :ref:`Array<class_array>`  **Array**  **(** :ref:`PoolIntArray<class_poolintarray>` from  **)**
 
 
-Construct an array from a :ref:`PoolByteArray<class_poolbytearray>`.
+Construct an array from a :ref:`PoolIntArray<class_poolintarray>`.
 
 
 .. _class_Array_Array:
 .. _class_Array_Array:
 
 
@@ -186,7 +186,14 @@ Returns the first element of the array if the array is not empty (size>0).
 
 
 - :ref:`bool<class_bool>`  **has**  **(** var value  **)**
 - :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``
+Return true if the array contains given value.
+
+::
+
+    [ "inside", 7 ].has("inside") == true
+    [ "inside", 7 ].has("outside") == false
+    [ "inside", 7 ].has(7) == true
+    [ "inside", 7 ].has("7") == false
 
 
 .. _class_Array_hash:
 .. _class_Array_hash:
 
 

+ 0 - 7
classes/class_arraymesh.rst

@@ -85,13 +85,6 @@ Numeric Constants
 - **ARRAY_FORMAT_BONES** = **64** --- Array format will include bone indices.
 - **ARRAY_FORMAT_BONES** = **64** --- Array format will include bone indices.
 - **ARRAY_FORMAT_WEIGHTS** = **128** --- Array format will include bone weights.
 - **ARRAY_FORMAT_WEIGHTS** = **128** --- Array format will include bone weights.
 - **ARRAY_FORMAT_INDEX** = **256** --- Index array will be used.
 - **ARRAY_FORMAT_INDEX** = **256** --- Index array will be used.
-- **PRIMITIVE_POINTS** = **0** --- Render array as points (one vertex equals one point).
-- **PRIMITIVE_LINES** = **1** --- Render array as lines (every two vertices a line is created).
-- **PRIMITIVE_LINE_STRIP** = **2** --- Render array as line strip.
-- **PRIMITIVE_LINE_LOOP** = **3** --- Render array as line loop (like line strip, but closed).
-- **PRIMITIVE_TRIANGLES** = **4** --- Render array as triangles (every three vertices a triangle is created).
-- **PRIMITIVE_TRIANGLE_STRIP** = **5** --- Render array as triangle strips.
-- **PRIMITIVE_TRIANGLE_FAN** = **6** --- Render array as triangle fans.
 
 
 Member Function Description
 Member Function Description
 ---------------------------
 ---------------------------

+ 39 - 2
classes/class_astar.rst

@@ -13,7 +13,7 @@ AStar
 Brief Description
 Brief Description
 -----------------
 -----------------
 
 
-
+AStar class representation that uses vectors as edges.
 
 
 Member Functions
 Member Functions
 ----------------
 ----------------
@@ -47,9 +47,18 @@ Member Functions
 +--------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`float<class_float>`                        | :ref:`get_point_weight_scale<class_AStar_get_point_weight_scale>`  **(** :ref:`int<class_int>` id  **)** const                                                    |
 | :ref:`float<class_float>`                        | :ref:`get_point_weight_scale<class_AStar_get_point_weight_scale>`  **(** :ref:`int<class_int>` id  **)** const                                                    |
 +--------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                          | :ref:`has_point<class_AStar_has_point>`  **(** :ref:`int<class_int>` id  **)** const                                                                              |
++--------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                             | :ref:`remove_point<class_AStar_remove_point>`  **(** :ref:`int<class_int>` id  **)**                                                                              |
 | void                                             | :ref:`remove_point<class_AStar_remove_point>`  **(** :ref:`int<class_int>` id  **)**                                                                              |
 +--------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 
 
+Description
+-----------
+
+A\* (A star) is a computer algorithm that is widely used in pathfinding and graph traversal, the process of plotting an efficiently directed path between multiple points. It enjoys widespread use due to its performance and accuracy. Godot's A\* implementation make use of vectors as points.
+
+You must add points manually with :ref:`AStar.add_point<class_AStar_add_point>` and create segments manually with :ref:`AStar.connect_points<class_AStar_connect_points>`. So you can test if there is a path between two points with the :ref:`AStar.are_points_connected<class_AStar_are_points_connected>` function, get the list of existing ids in the found path with :ref:`AStar.get_id_path<class_AStar_get_id_path>`, or the points list with :ref:`AStar.get_point_path<class_AStar_get_point_path>`.
+
 Member Function Description
 Member Function Description
 ---------------------------
 ---------------------------
 
 
@@ -65,24 +74,32 @@ Member Function Description
 
 
 - void  **add_point**  **(** :ref:`int<class_int>` id, :ref:`Vector3<class_vector3>` pos, :ref:`float<class_float>` weight_scale=1  **)**
 - void  **add_point**  **(** :ref:`int<class_int>` id, :ref:`Vector3<class_vector3>` pos, :ref:`float<class_float>` weight_scale=1  **)**
 
 
-Add a new point at the given position. The ``weight_scale`` has to be 1 or larger.
+Add a new point at the given position ``pos`` with the given identifier ``id``. The ``weight_scale`` has to be 1 or larger.
 
 
 .. _class_AStar_are_points_connected:
 .. _class_AStar_are_points_connected:
 
 
 - :ref:`bool<class_bool>`  **are_points_connected**  **(** :ref:`int<class_int>` id, :ref:`int<class_int>` to_id  **)** const
 - :ref:`bool<class_bool>`  **are_points_connected**  **(** :ref:`int<class_int>` id, :ref:`int<class_int>` to_id  **)** const
 
 
+Returns if there is a connection/segment between points ``id`` and ``from_id``
+
 .. _class_AStar_clear:
 .. _class_AStar_clear:
 
 
 - void  **clear**  **(** **)**
 - void  **clear**  **(** **)**
 
 
+Clear all the points and segments from AStar instance.
+
 .. _class_AStar_connect_points:
 .. _class_AStar_connect_points:
 
 
 - void  **connect_points**  **(** :ref:`int<class_int>` id, :ref:`int<class_int>` to_id, :ref:`bool<class_bool>` bidirectional=true  **)**
 - void  **connect_points**  **(** :ref:`int<class_int>` id, :ref:`int<class_int>` to_id, :ref:`bool<class_bool>` bidirectional=true  **)**
 
 
+Create a segment between points ``id`` and ``to_id``.
+
 .. _class_AStar_disconnect_points:
 .. _class_AStar_disconnect_points:
 
 
 - void  **disconnect_points**  **(** :ref:`int<class_int>` id, :ref:`int<class_int>` to_id  **)**
 - void  **disconnect_points**  **(** :ref:`int<class_int>` id, :ref:`int<class_int>` to_id  **)**
 
 
+Deletes a segment between points ``id`` and ``to_id``.
+
 .. _class_AStar_get_available_point_id:
 .. _class_AStar_get_available_point_id:
 
 
 - :ref:`int<class_int>`  **get_available_point_id**  **(** **)** const
 - :ref:`int<class_int>`  **get_available_point_id**  **(** **)** const
@@ -91,28 +108,48 @@ Add a new point at the given position. The ``weight_scale`` has to be 1 or large
 
 
 - :ref:`int<class_int>`  **get_closest_point**  **(** :ref:`Vector3<class_vector3>` to_pos  **)** const
 - :ref:`int<class_int>`  **get_closest_point**  **(** :ref:`Vector3<class_vector3>` to_pos  **)** const
 
 
+Returns the id of closest point of given point.  -1 is returned if there are no points on AStar.
+
 .. _class_AStar_get_closest_pos_in_segment:
 .. _class_AStar_get_closest_pos_in_segment:
 
 
 - :ref:`Vector3<class_vector3>`  **get_closest_pos_in_segment**  **(** :ref:`Vector3<class_vector3>` to_pos  **)** const
 - :ref:`Vector3<class_vector3>`  **get_closest_pos_in_segment**  **(** :ref:`Vector3<class_vector3>` to_pos  **)** const
 
 
+Returns the position of closest point that has segments.
+
 .. _class_AStar_get_id_path:
 .. _class_AStar_get_id_path:
 
 
 - :ref:`PoolIntArray<class_poolintarray>`  **get_id_path**  **(** :ref:`int<class_int>` from_id, :ref:`int<class_int>` to_id  **)**
 - :ref:`PoolIntArray<class_poolintarray>`  **get_id_path**  **(** :ref:`int<class_int>` from_id, :ref:`int<class_int>` to_id  **)**
 
 
+Returns an array with the point ids of path found by AStar between two given points.
+
 .. _class_AStar_get_point_path:
 .. _class_AStar_get_point_path:
 
 
 - :ref:`PoolVector3Array<class_poolvector3array>`  **get_point_path**  **(** :ref:`int<class_int>` from_id, :ref:`int<class_int>` to_id  **)**
 - :ref:`PoolVector3Array<class_poolvector3array>`  **get_point_path**  **(** :ref:`int<class_int>` from_id, :ref:`int<class_int>` to_id  **)**
 
 
+Returns an array with the points of path found by AStar between two given points.
+
 .. _class_AStar_get_point_pos:
 .. _class_AStar_get_point_pos:
 
 
 - :ref:`Vector3<class_vector3>`  **get_point_pos**  **(** :ref:`int<class_int>` id  **)** const
 - :ref:`Vector3<class_vector3>`  **get_point_pos**  **(** :ref:`int<class_int>` id  **)** const
 
 
+Returns the position of point with given id.
+
 .. _class_AStar_get_point_weight_scale:
 .. _class_AStar_get_point_weight_scale:
 
 
 - :ref:`float<class_float>`  **get_point_weight_scale**  **(** :ref:`int<class_int>` id  **)** const
 - :ref:`float<class_float>`  **get_point_weight_scale**  **(** :ref:`int<class_int>` id  **)** const
 
 
+Returns the weight scale of point with given id.
+
+.. _class_AStar_has_point:
+
+- :ref:`bool<class_bool>`  **has_point**  **(** :ref:`int<class_int>` id  **)** const
+
+Returns if the point with given id exists on AStar;
+
 .. _class_AStar_remove_point:
 .. _class_AStar_remove_point:
 
 
 - void  **remove_point**  **(** :ref:`int<class_int>` id  **)**
 - void  **remove_point**  **(** :ref:`int<class_int>` id  **)**
 
 
+Removes the point with given id.
+
 
 

+ 1 - 1
classes/class_audioeffect.rst

@@ -8,7 +8,7 @@ AudioEffect
 
 
 **Inherits:** :ref:`Resource<class_resource>` **<** :ref:`Reference<class_reference>` **<** :ref:`Object<class_object>`
 **Inherits:** :ref:`Resource<class_resource>` **<** :ref:`Reference<class_reference>` **<** :ref:`Object<class_object>`
 
 
-**Inherited By:** :ref:`AudioEffectCompressor<class_audioeffectcompressor>`, :ref:`AudioEffectAmplify<class_audioeffectamplify>`, :ref:`AudioEffectFilter<class_audioeffectfilter>`, :ref:`AudioEffectDistortion<class_audioeffectdistortion>`, :ref:`AudioEffectLimiter<class_audioeffectlimiter>`, :ref:`AudioEffectDelay<class_audioeffectdelay>`, :ref:`AudioEffectStereoEnhance<class_audioeffectstereoenhance>`, :ref:`AudioEffectReverb<class_audioeffectreverb>`, :ref:`AudioEffectPanner<class_audioeffectpanner>`, :ref:`AudioEffectEQ<class_audioeffecteq>`, :ref:`AudioEffectChorus<class_audioeffectchorus>`, :ref:`AudioEffectPitchShift<class_audioeffectpitchshift>`, :ref:`AudioEffectPhaser<class_audioeffectphaser>`
+**Inherited By:** :ref:`AudioEffectCompressor<class_audioeffectcompressor>`, :ref:`AudioEffectAmplify<class_audioeffectamplify>`, :ref:`AudioEffectFilter<class_audioeffectfilter>`, :ref:`AudioEffectDistortion<class_audioeffectdistortion>`, :ref:`AudioEffectLimiter<class_audioeffectlimiter>`, :ref:`AudioEffectDelay<class_audioeffectdelay>`, :ref:`AudioEffectStereoEnhance<class_audioeffectstereoenhance>`, :ref:`AudioEffectPanner<class_audioeffectpanner>`, :ref:`AudioEffectReverb<class_audioeffectreverb>`, :ref:`AudioEffectEQ<class_audioeffecteq>`, :ref:`AudioEffectChorus<class_audioeffectchorus>`, :ref:`AudioEffectPitchShift<class_audioeffectpitchshift>`, :ref:`AudioEffectPhaser<class_audioeffectphaser>`
 
 
 **Category:** Core
 **Category:** Core
 
 

+ 7 - 7
classes/class_audioeffectcompressor.rst

@@ -31,7 +31,7 @@ Member Functions
 +------------------------------+----------------------------------------------------------------------------------------------------------------------+
 +------------------------------+----------------------------------------------------------------------------------------------------------------------+
 | :ref:`String<class_string>`  | :ref:`get_sidechain<class_AudioEffectCompressor_get_sidechain>`  **(** **)** const                                   |
 | :ref:`String<class_string>`  | :ref:`get_sidechain<class_AudioEffectCompressor_get_sidechain>`  **(** **)** const                                   |
 +------------------------------+----------------------------------------------------------------------------------------------------------------------+
 +------------------------------+----------------------------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`    | :ref:`get_treshold<class_AudioEffectCompressor_get_treshold>`  **(** **)** const                                     |
+| :ref:`float<class_float>`    | :ref:`get_threshold<class_AudioEffectCompressor_get_threshold>`  **(** **)** const                                   |
 +------------------------------+----------------------------------------------------------------------------------------------------------------------+
 +------------------------------+----------------------------------------------------------------------------------------------------------------------+
 | void                         | :ref:`set_attack_us<class_AudioEffectCompressor_set_attack_us>`  **(** :ref:`float<class_float>` attack_us  **)**    |
 | void                         | :ref:`set_attack_us<class_AudioEffectCompressor_set_attack_us>`  **(** :ref:`float<class_float>` attack_us  **)**    |
 +------------------------------+----------------------------------------------------------------------------------------------------------------------+
 +------------------------------+----------------------------------------------------------------------------------------------------------------------+
@@ -45,7 +45,7 @@ Member Functions
 +------------------------------+----------------------------------------------------------------------------------------------------------------------+
 +------------------------------+----------------------------------------------------------------------------------------------------------------------+
 | void                         | :ref:`set_sidechain<class_AudioEffectCompressor_set_sidechain>`  **(** :ref:`String<class_string>` sidechain  **)**  |
 | void                         | :ref:`set_sidechain<class_AudioEffectCompressor_set_sidechain>`  **(** :ref:`String<class_string>` sidechain  **)**  |
 +------------------------------+----------------------------------------------------------------------------------------------------------------------+
 +------------------------------+----------------------------------------------------------------------------------------------------------------------+
-| void                         | :ref:`set_treshold<class_AudioEffectCompressor_set_treshold>`  **(** :ref:`float<class_float>` treshold  **)**       |
+| void                         | :ref:`set_threshold<class_AudioEffectCompressor_set_threshold>`  **(** :ref:`float<class_float>` threshold  **)**    |
 +------------------------------+----------------------------------------------------------------------------------------------------------------------+
 +------------------------------+----------------------------------------------------------------------------------------------------------------------+
 
 
 Member Variables
 Member Variables
@@ -57,7 +57,7 @@ Member Variables
 - :ref:`float<class_float>` **ratio**
 - :ref:`float<class_float>` **ratio**
 - :ref:`float<class_float>` **release_ms**
 - :ref:`float<class_float>` **release_ms**
 - :ref:`float<class_float>` **sidechain**
 - :ref:`float<class_float>` **sidechain**
-- :ref:`float<class_float>` **treshold**
+- :ref:`float<class_float>` **threshold**
 
 
 Member Function Description
 Member Function Description
 ---------------------------
 ---------------------------
@@ -86,9 +86,9 @@ Member Function Description
 
 
 - :ref:`String<class_string>`  **get_sidechain**  **(** **)** const
 - :ref:`String<class_string>`  **get_sidechain**  **(** **)** const
 
 
-.. _class_AudioEffectCompressor_get_treshold:
+.. _class_AudioEffectCompressor_get_threshold:
 
 
-- :ref:`float<class_float>`  **get_treshold**  **(** **)** const
+- :ref:`float<class_float>`  **get_threshold**  **(** **)** const
 
 
 .. _class_AudioEffectCompressor_set_attack_us:
 .. _class_AudioEffectCompressor_set_attack_us:
 
 
@@ -114,8 +114,8 @@ Member Function Description
 
 
 - void  **set_sidechain**  **(** :ref:`String<class_string>` sidechain  **)**
 - void  **set_sidechain**  **(** :ref:`String<class_string>` sidechain  **)**
 
 
-.. _class_AudioEffectCompressor_set_treshold:
+.. _class_AudioEffectCompressor_set_threshold:
 
 
-- void  **set_treshold**  **(** :ref:`float<class_float>` treshold  **)**
+- void  **set_threshold**  **(** :ref:`float<class_float>` threshold  **)**
 
 
 
 

+ 7 - 7
classes/class_audioeffectlimiter.rst

@@ -25,7 +25,7 @@ Member Functions
 +----------------------------+----------------------------------------------------------------------------------------------------------------------------+
 +----------------------------+----------------------------------------------------------------------------------------------------------------------------+
 | :ref:`float<class_float>`  | :ref:`get_soft_clip_ratio<class_AudioEffectLimiter_get_soft_clip_ratio>`  **(** **)** const                                |
 | :ref:`float<class_float>`  | :ref:`get_soft_clip_ratio<class_AudioEffectLimiter_get_soft_clip_ratio>`  **(** **)** const                                |
 +----------------------------+----------------------------------------------------------------------------------------------------------------------------+
 +----------------------------+----------------------------------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`  | :ref:`get_treshold_db<class_AudioEffectLimiter_get_treshold_db>`  **(** **)** const                                        |
+| :ref:`float<class_float>`  | :ref:`get_threshold_db<class_AudioEffectLimiter_get_threshold_db>`  **(** **)** const                                      |
 +----------------------------+----------------------------------------------------------------------------------------------------------------------------+
 +----------------------------+----------------------------------------------------------------------------------------------------------------------------+
 | void                       | :ref:`set_ceiling_db<class_AudioEffectLimiter_set_ceiling_db>`  **(** :ref:`float<class_float>` ceiling  **)**             |
 | void                       | :ref:`set_ceiling_db<class_AudioEffectLimiter_set_ceiling_db>`  **(** :ref:`float<class_float>` ceiling  **)**             |
 +----------------------------+----------------------------------------------------------------------------------------------------------------------------+
 +----------------------------+----------------------------------------------------------------------------------------------------------------------------+
@@ -33,7 +33,7 @@ Member Functions
 +----------------------------+----------------------------------------------------------------------------------------------------------------------------+
 +----------------------------+----------------------------------------------------------------------------------------------------------------------------+
 | void                       | :ref:`set_soft_clip_ratio<class_AudioEffectLimiter_set_soft_clip_ratio>`  **(** :ref:`float<class_float>` soft_clip  **)** |
 | void                       | :ref:`set_soft_clip_ratio<class_AudioEffectLimiter_set_soft_clip_ratio>`  **(** :ref:`float<class_float>` soft_clip  **)** |
 +----------------------------+----------------------------------------------------------------------------------------------------------------------------+
 +----------------------------+----------------------------------------------------------------------------------------------------------------------------+
-| void                       | :ref:`set_treshold_db<class_AudioEffectLimiter_set_treshold_db>`  **(** :ref:`float<class_float>` treshold  **)**          |
+| void                       | :ref:`set_threshold_db<class_AudioEffectLimiter_set_threshold_db>`  **(** :ref:`float<class_float>` threshold  **)**       |
 +----------------------------+----------------------------------------------------------------------------------------------------------------------------+
 +----------------------------+----------------------------------------------------------------------------------------------------------------------------+
 
 
 Member Variables
 Member Variables
@@ -42,7 +42,7 @@ Member Variables
 - :ref:`float<class_float>` **ceiling_db**
 - :ref:`float<class_float>` **ceiling_db**
 - :ref:`float<class_float>` **soft_clip_db**
 - :ref:`float<class_float>` **soft_clip_db**
 - :ref:`float<class_float>` **soft_clip_ratio**
 - :ref:`float<class_float>` **soft_clip_ratio**
-- :ref:`float<class_float>` **treshold_db**
+- :ref:`float<class_float>` **threshold_db**
 
 
 Member Function Description
 Member Function Description
 ---------------------------
 ---------------------------
@@ -59,9 +59,9 @@ Member Function Description
 
 
 - :ref:`float<class_float>`  **get_soft_clip_ratio**  **(** **)** const
 - :ref:`float<class_float>`  **get_soft_clip_ratio**  **(** **)** const
 
 
-.. _class_AudioEffectLimiter_get_treshold_db:
+.. _class_AudioEffectLimiter_get_threshold_db:
 
 
-- :ref:`float<class_float>`  **get_treshold_db**  **(** **)** const
+- :ref:`float<class_float>`  **get_threshold_db**  **(** **)** const
 
 
 .. _class_AudioEffectLimiter_set_ceiling_db:
 .. _class_AudioEffectLimiter_set_ceiling_db:
 
 
@@ -75,8 +75,8 @@ Member Function Description
 
 
 - void  **set_soft_clip_ratio**  **(** :ref:`float<class_float>` soft_clip  **)**
 - void  **set_soft_clip_ratio**  **(** :ref:`float<class_float>` soft_clip  **)**
 
 
-.. _class_AudioEffectLimiter_set_treshold_db:
+.. _class_AudioEffectLimiter_set_threshold_db:
 
 
-- void  **set_treshold_db**  **(** :ref:`float<class_float>` treshold  **)**
+- void  **set_threshold_db**  **(** :ref:`float<class_float>` threshold  **)**
 
 
 
 

+ 6 - 0
classes/class_audioserver.rst

@@ -31,6 +31,8 @@ Member Functions
 +----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                         | :ref:`get_bus_effect_count<class_AudioServer_get_bus_effect_count>`  **(** :ref:`int<class_int>` bus_idx, :ref:`Object<class_object>` arg1, :ref:`int<class_int>` arg2  **)**          |
 | void                                         | :ref:`get_bus_effect_count<class_AudioServer_get_bus_effect_count>`  **(** :ref:`int<class_int>` bus_idx, :ref:`Object<class_object>` arg1, :ref:`int<class_int>` arg2  **)**          |
 +----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                        | :ref:`get_bus_index<class_AudioServer_get_bus_index>`  **(** :ref:`String<class_string>` bus_name  **)** const                                                                         |
++----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`String<class_string>`                  | :ref:`get_bus_name<class_AudioServer_get_bus_name>`  **(** :ref:`int<class_int>` bus_idx  **)** const                                                                                  |
 | :ref:`String<class_string>`                  | :ref:`get_bus_name<class_AudioServer_get_bus_name>`  **(** :ref:`int<class_int>` bus_idx  **)** const                                                                                  |
 +----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`float<class_float>`                    | :ref:`get_bus_peak_volume_left_db<class_AudioServer_get_bus_peak_volume_left_db>`  **(** :ref:`int<class_int>` bus_idx, :ref:`int<class_int>` channel  **)** const                     |
 | :ref:`float<class_float>`                    | :ref:`get_bus_peak_volume_left_db<class_AudioServer_get_bus_peak_volume_left_db>`  **(** :ref:`int<class_int>` bus_idx, :ref:`int<class_int>` channel  **)** const                     |
@@ -121,6 +123,10 @@ Member Function Description
 
 
 - void  **get_bus_effect_count**  **(** :ref:`int<class_int>` bus_idx, :ref:`Object<class_object>` arg1, :ref:`int<class_int>` arg2  **)**
 - void  **get_bus_effect_count**  **(** :ref:`int<class_int>` bus_idx, :ref:`Object<class_object>` arg1, :ref:`int<class_int>` arg2  **)**
 
 
+.. _class_AudioServer_get_bus_index:
+
+- :ref:`int<class_int>`  **get_bus_index**  **(** :ref:`String<class_string>` bus_name  **)** const
+
 .. _class_AudioServer_get_bus_name:
 .. _class_AudioServer_get_bus_name:
 
 
 - :ref:`String<class_string>`  **get_bus_name**  **(** :ref:`int<class_int>` bus_idx  **)** const
 - :ref:`String<class_string>`  **get_bus_name**  **(** :ref:`int<class_int>` bus_idx  **)** const

+ 2 - 2
classes/class_audiostream.rst

@@ -8,7 +8,7 @@ AudioStream
 
 
 **Inherits:** :ref:`Resource<class_resource>` **<** :ref:`Reference<class_reference>` **<** :ref:`Object<class_object>`
 **Inherits:** :ref:`Resource<class_resource>` **<** :ref:`Reference<class_reference>` **<** :ref:`Object<class_object>`
 
 
-**Inherited By:** :ref:`AudioStreamSample<class_audiostreamsample>`, :ref:`AudioStreamOGGVorbis<class_audiostreamoggvorbis>`
+**Inherited By:** :ref:`AudioStreamSample<class_audiostreamsample>`, :ref:`AudioStreamRandomPitch<class_audiostreamrandompitch>`, :ref:`AudioStreamOGGVorbis<class_audiostreamoggvorbis>`
 
 
 **Category:** Core
 **Category:** Core
 
 
@@ -20,5 +20,5 @@ Base class for audio streams.
 Description
 Description
 -----------
 -----------
 
 
-Base class for audio streams. Audio streams are used for music playback, or other types of streamed sounds that don't fit or require more flexibility than a :ref:`Sample<class_sample>`.
+Base class for audio streams. Audio streams are used for music playback, or other types of streamed sounds that don't fit or require more flexibility than a Sample.
 
 

+ 49 - 49
classes/class_audioplayer.rst → classes/class_audiostreamplayer.rst

@@ -1,10 +1,10 @@
 .. Generated automatically by doc/tools/makerst.py in Godot's source tree.
 .. 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.
 .. DO NOT EDIT THIS FILE, but the doc/base/classes.xml source instead.
 
 
-.. _class_AudioPlayer:
+.. _class_AudioStreamPlayer:
 
 
-AudioPlayer
-===========
+AudioStreamPlayer
+=================
 
 
 **Inherits:** :ref:`Node<class_node>` **<** :ref:`Object<class_object>`
 **Inherits:** :ref:`Node<class_node>` **<** :ref:`Object<class_object>`
 
 
@@ -18,37 +18,37 @@ Brief Description
 Member Functions
 Member Functions
 ----------------
 ----------------
 
 
-+------------------------------+------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_string>`  | :ref:`get_bus<class_AudioPlayer_get_bus>`  **(** **)** const                                               |
-+------------------------------+------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`        | :ref:`get_mix_target<class_AudioPlayer_get_mix_target>`  **(** **)** const                                 |
-+------------------------------+------------------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`    | :ref:`get_pos<class_AudioPlayer_get_pos>`  **(** **)**                                                     |
-+------------------------------+------------------------------------------------------------------------------------------------------------+
-| :ref:`Object<class_object>`  | :ref:`get_stream<class_AudioPlayer_get_stream>`  **(** **)** const                                         |
-+------------------------------+------------------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`    | :ref:`get_volume_db<class_AudioPlayer_get_volume_db>`  **(** **)** const                                   |
-+------------------------------+------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`      | :ref:`is_autoplay_enabled<class_AudioPlayer_is_autoplay_enabled>`  **(** **)**                             |
-+------------------------------+------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`      | :ref:`is_playing<class_AudioPlayer_is_playing>`  **(** **)** const                                         |
-+------------------------------+------------------------------------------------------------------------------------------------------------+
-| void                         | :ref:`play<class_AudioPlayer_play>`  **(** :ref:`float<class_float>` from_pos=0  **)**                     |
-+------------------------------+------------------------------------------------------------------------------------------------------------+
-| void                         | :ref:`seek<class_AudioPlayer_seek>`  **(** :ref:`float<class_float>` to_pos  **)**                         |
-+------------------------------+------------------------------------------------------------------------------------------------------------+
-| void                         | :ref:`set_autoplay<class_AudioPlayer_set_autoplay>`  **(** :ref:`bool<class_bool>` enable  **)**           |
-+------------------------------+------------------------------------------------------------------------------------------------------------+
-| void                         | :ref:`set_bus<class_AudioPlayer_set_bus>`  **(** :ref:`String<class_string>` bus  **)**                    |
-+------------------------------+------------------------------------------------------------------------------------------------------------+
-| void                         | :ref:`set_mix_target<class_AudioPlayer_set_mix_target>`  **(** :ref:`int<class_int>` mix_target  **)**     |
-+------------------------------+------------------------------------------------------------------------------------------------------------+
-| void                         | :ref:`set_stream<class_AudioPlayer_set_stream>`  **(** :ref:`AudioStream<class_audiostream>` stream  **)** |
-+------------------------------+------------------------------------------------------------------------------------------------------------+
-| void                         | :ref:`set_volume_db<class_AudioPlayer_set_volume_db>`  **(** :ref:`float<class_float>` volume_db  **)**    |
-+------------------------------+------------------------------------------------------------------------------------------------------------+
-| void                         | :ref:`stop<class_AudioPlayer_stop>`  **(** **)**                                                           |
-+------------------------------+------------------------------------------------------------------------------------------------------------+
++------------------------------+------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_string>`  | :ref:`get_bus<class_AudioStreamPlayer_get_bus>`  **(** **)** const                                               |
++------------------------------+------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`        | :ref:`get_mix_target<class_AudioStreamPlayer_get_mix_target>`  **(** **)** const                                 |
++------------------------------+------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`    | :ref:`get_pos<class_AudioStreamPlayer_get_pos>`  **(** **)**                                                     |
++------------------------------+------------------------------------------------------------------------------------------------------------------+
+| :ref:`Object<class_object>`  | :ref:`get_stream<class_AudioStreamPlayer_get_stream>`  **(** **)** const                                         |
++------------------------------+------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`    | :ref:`get_volume_db<class_AudioStreamPlayer_get_volume_db>`  **(** **)** const                                   |
++------------------------------+------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`      | :ref:`is_autoplay_enabled<class_AudioStreamPlayer_is_autoplay_enabled>`  **(** **)**                             |
++------------------------------+------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`      | :ref:`is_playing<class_AudioStreamPlayer_is_playing>`  **(** **)** const                                         |
++------------------------------+------------------------------------------------------------------------------------------------------------------+
+| void                         | :ref:`play<class_AudioStreamPlayer_play>`  **(** :ref:`float<class_float>` from_pos=0  **)**                     |
++------------------------------+------------------------------------------------------------------------------------------------------------------+
+| void                         | :ref:`seek<class_AudioStreamPlayer_seek>`  **(** :ref:`float<class_float>` to_pos  **)**                         |
++------------------------------+------------------------------------------------------------------------------------------------------------------+
+| void                         | :ref:`set_autoplay<class_AudioStreamPlayer_set_autoplay>`  **(** :ref:`bool<class_bool>` enable  **)**           |
++------------------------------+------------------------------------------------------------------------------------------------------------------+
+| void                         | :ref:`set_bus<class_AudioStreamPlayer_set_bus>`  **(** :ref:`String<class_string>` bus  **)**                    |
++------------------------------+------------------------------------------------------------------------------------------------------------------+
+| void                         | :ref:`set_mix_target<class_AudioStreamPlayer_set_mix_target>`  **(** :ref:`int<class_int>` mix_target  **)**     |
++------------------------------+------------------------------------------------------------------------------------------------------------------+
+| void                         | :ref:`set_stream<class_AudioStreamPlayer_set_stream>`  **(** :ref:`AudioStream<class_audiostream>` stream  **)** |
++------------------------------+------------------------------------------------------------------------------------------------------------------+
+| void                         | :ref:`set_volume_db<class_AudioStreamPlayer_set_volume_db>`  **(** :ref:`float<class_float>` volume_db  **)**    |
++------------------------------+------------------------------------------------------------------------------------------------------------------+
+| void                         | :ref:`stop<class_AudioStreamPlayer_stop>`  **(** **)**                                                           |
++------------------------------+------------------------------------------------------------------------------------------------------------------+
 
 
 Member Variables
 Member Variables
 ----------------
 ----------------
@@ -63,63 +63,63 @@ Member Variables
 Member Function Description
 Member Function Description
 ---------------------------
 ---------------------------
 
 
-.. _class_AudioPlayer_get_bus:
+.. _class_AudioStreamPlayer_get_bus:
 
 
 - :ref:`String<class_string>`  **get_bus**  **(** **)** const
 - :ref:`String<class_string>`  **get_bus**  **(** **)** const
 
 
-.. _class_AudioPlayer_get_mix_target:
+.. _class_AudioStreamPlayer_get_mix_target:
 
 
 - :ref:`int<class_int>`  **get_mix_target**  **(** **)** const
 - :ref:`int<class_int>`  **get_mix_target**  **(** **)** const
 
 
-.. _class_AudioPlayer_get_pos:
+.. _class_AudioStreamPlayer_get_pos:
 
 
 - :ref:`float<class_float>`  **get_pos**  **(** **)**
 - :ref:`float<class_float>`  **get_pos**  **(** **)**
 
 
-.. _class_AudioPlayer_get_stream:
+.. _class_AudioStreamPlayer_get_stream:
 
 
 - :ref:`Object<class_object>`  **get_stream**  **(** **)** const
 - :ref:`Object<class_object>`  **get_stream**  **(** **)** const
 
 
-.. _class_AudioPlayer_get_volume_db:
+.. _class_AudioStreamPlayer_get_volume_db:
 
 
 - :ref:`float<class_float>`  **get_volume_db**  **(** **)** const
 - :ref:`float<class_float>`  **get_volume_db**  **(** **)** const
 
 
-.. _class_AudioPlayer_is_autoplay_enabled:
+.. _class_AudioStreamPlayer_is_autoplay_enabled:
 
 
 - :ref:`bool<class_bool>`  **is_autoplay_enabled**  **(** **)**
 - :ref:`bool<class_bool>`  **is_autoplay_enabled**  **(** **)**
 
 
-.. _class_AudioPlayer_is_playing:
+.. _class_AudioStreamPlayer_is_playing:
 
 
 - :ref:`bool<class_bool>`  **is_playing**  **(** **)** const
 - :ref:`bool<class_bool>`  **is_playing**  **(** **)** const
 
 
-.. _class_AudioPlayer_play:
+.. _class_AudioStreamPlayer_play:
 
 
 - void  **play**  **(** :ref:`float<class_float>` from_pos=0  **)**
 - void  **play**  **(** :ref:`float<class_float>` from_pos=0  **)**
 
 
-.. _class_AudioPlayer_seek:
+.. _class_AudioStreamPlayer_seek:
 
 
 - void  **seek**  **(** :ref:`float<class_float>` to_pos  **)**
 - void  **seek**  **(** :ref:`float<class_float>` to_pos  **)**
 
 
-.. _class_AudioPlayer_set_autoplay:
+.. _class_AudioStreamPlayer_set_autoplay:
 
 
 - void  **set_autoplay**  **(** :ref:`bool<class_bool>` enable  **)**
 - void  **set_autoplay**  **(** :ref:`bool<class_bool>` enable  **)**
 
 
-.. _class_AudioPlayer_set_bus:
+.. _class_AudioStreamPlayer_set_bus:
 
 
 - void  **set_bus**  **(** :ref:`String<class_string>` bus  **)**
 - void  **set_bus**  **(** :ref:`String<class_string>` bus  **)**
 
 
-.. _class_AudioPlayer_set_mix_target:
+.. _class_AudioStreamPlayer_set_mix_target:
 
 
 - void  **set_mix_target**  **(** :ref:`int<class_int>` mix_target  **)**
 - void  **set_mix_target**  **(** :ref:`int<class_int>` mix_target  **)**
 
 
-.. _class_AudioPlayer_set_stream:
+.. _class_AudioStreamPlayer_set_stream:
 
 
 - void  **set_stream**  **(** :ref:`AudioStream<class_audiostream>` stream  **)**
 - void  **set_stream**  **(** :ref:`AudioStream<class_audiostream>` stream  **)**
 
 
-.. _class_AudioPlayer_set_volume_db:
+.. _class_AudioStreamPlayer_set_volume_db:
 
 
 - void  **set_volume_db**  **(** :ref:`float<class_float>` volume_db  **)**
 - void  **set_volume_db**  **(** :ref:`float<class_float>` volume_db  **)**
 
 
-.. _class_AudioPlayer_stop:
+.. _class_AudioStreamPlayer_stop:
 
 
 - void  **stop**  **(** **)**
 - void  **stop**  **(** **)**
 
 

+ 152 - 0
classes/class_audiostreamplayer2d.rst

@@ -0,0 +1,152 @@
+.. 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_AudioStreamPlayer2D:
+
+AudioStreamPlayer2D
+===================
+
+**Inherits:** :ref:`Node2D<class_node2d>` **<** :ref:`CanvasItem<class_canvasitem>` **<** :ref:`Node<class_node>` **<** :ref:`Object<class_object>`
+
+**Category:** Core
+
+Brief Description
+-----------------
+
+
+
+Member Functions
+----------------
+
++------------------------------+--------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`        | :ref:`get_area_mask<class_AudioStreamPlayer2D_get_area_mask>`  **(** **)** const                                   |
++------------------------------+--------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`    | :ref:`get_attenuation<class_AudioStreamPlayer2D_get_attenuation>`  **(** **)** const                               |
++------------------------------+--------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_string>`  | :ref:`get_bus<class_AudioStreamPlayer2D_get_bus>`  **(** **)** const                                               |
++------------------------------+--------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`    | :ref:`get_max_distance<class_AudioStreamPlayer2D_get_max_distance>`  **(** **)** const                             |
++------------------------------+--------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`    | :ref:`get_pos<class_AudioStreamPlayer2D_get_pos>`  **(** **)**                                                     |
++------------------------------+--------------------------------------------------------------------------------------------------------------------+
+| :ref:`Object<class_object>`  | :ref:`get_stream<class_AudioStreamPlayer2D_get_stream>`  **(** **)** const                                         |
++------------------------------+--------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`    | :ref:`get_volume_db<class_AudioStreamPlayer2D_get_volume_db>`  **(** **)** const                                   |
++------------------------------+--------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`      | :ref:`is_autoplay_enabled<class_AudioStreamPlayer2D_is_autoplay_enabled>`  **(** **)**                             |
++------------------------------+--------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`      | :ref:`is_playing<class_AudioStreamPlayer2D_is_playing>`  **(** **)** const                                         |
++------------------------------+--------------------------------------------------------------------------------------------------------------------+
+| void                         | :ref:`play<class_AudioStreamPlayer2D_play>`  **(** :ref:`float<class_float>` from_pos=0  **)**                     |
++------------------------------+--------------------------------------------------------------------------------------------------------------------+
+| void                         | :ref:`seek<class_AudioStreamPlayer2D_seek>`  **(** :ref:`float<class_float>` to_pos  **)**                         |
++------------------------------+--------------------------------------------------------------------------------------------------------------------+
+| void                         | :ref:`set_area_mask<class_AudioStreamPlayer2D_set_area_mask>`  **(** :ref:`int<class_int>` mask  **)**             |
++------------------------------+--------------------------------------------------------------------------------------------------------------------+
+| void                         | :ref:`set_attenuation<class_AudioStreamPlayer2D_set_attenuation>`  **(** :ref:`float<class_float>` curve  **)**    |
++------------------------------+--------------------------------------------------------------------------------------------------------------------+
+| void                         | :ref:`set_autoplay<class_AudioStreamPlayer2D_set_autoplay>`  **(** :ref:`bool<class_bool>` enable  **)**           |
++------------------------------+--------------------------------------------------------------------------------------------------------------------+
+| void                         | :ref:`set_bus<class_AudioStreamPlayer2D_set_bus>`  **(** :ref:`String<class_string>` bus  **)**                    |
++------------------------------+--------------------------------------------------------------------------------------------------------------------+
+| void                         | :ref:`set_max_distance<class_AudioStreamPlayer2D_set_max_distance>`  **(** :ref:`float<class_float>` pixels  **)** |
++------------------------------+--------------------------------------------------------------------------------------------------------------------+
+| void                         | :ref:`set_stream<class_AudioStreamPlayer2D_set_stream>`  **(** :ref:`AudioStream<class_audiostream>` stream  **)** |
++------------------------------+--------------------------------------------------------------------------------------------------------------------+
+| void                         | :ref:`set_volume_db<class_AudioStreamPlayer2D_set_volume_db>`  **(** :ref:`float<class_float>` volume_db  **)**    |
++------------------------------+--------------------------------------------------------------------------------------------------------------------+
+| void                         | :ref:`stop<class_AudioStreamPlayer2D_stop>`  **(** **)**                                                           |
++------------------------------+--------------------------------------------------------------------------------------------------------------------+
+
+Member Variables
+----------------
+
+- :ref:`int<class_int>` **area_mask**
+- :ref:`float<class_float>` **attenuation**
+- :ref:`bool<class_bool>` **autoplay**
+- :ref:`String<class_string>` **bus**
+- :ref:`float<class_float>` **max_distance**
+- :ref:`bool<class_bool>` **playing**
+- :ref:`AudioStream<class_audiostream>` **stream**
+- :ref:`float<class_float>` **volume_db**
+
+Member Function Description
+---------------------------
+
+.. _class_AudioStreamPlayer2D_get_area_mask:
+
+- :ref:`int<class_int>`  **get_area_mask**  **(** **)** const
+
+.. _class_AudioStreamPlayer2D_get_attenuation:
+
+- :ref:`float<class_float>`  **get_attenuation**  **(** **)** const
+
+.. _class_AudioStreamPlayer2D_get_bus:
+
+- :ref:`String<class_string>`  **get_bus**  **(** **)** const
+
+.. _class_AudioStreamPlayer2D_get_max_distance:
+
+- :ref:`float<class_float>`  **get_max_distance**  **(** **)** const
+
+.. _class_AudioStreamPlayer2D_get_pos:
+
+- :ref:`float<class_float>`  **get_pos**  **(** **)**
+
+.. _class_AudioStreamPlayer2D_get_stream:
+
+- :ref:`Object<class_object>`  **get_stream**  **(** **)** const
+
+.. _class_AudioStreamPlayer2D_get_volume_db:
+
+- :ref:`float<class_float>`  **get_volume_db**  **(** **)** const
+
+.. _class_AudioStreamPlayer2D_is_autoplay_enabled:
+
+- :ref:`bool<class_bool>`  **is_autoplay_enabled**  **(** **)**
+
+.. _class_AudioStreamPlayer2D_is_playing:
+
+- :ref:`bool<class_bool>`  **is_playing**  **(** **)** const
+
+.. _class_AudioStreamPlayer2D_play:
+
+- void  **play**  **(** :ref:`float<class_float>` from_pos=0  **)**
+
+.. _class_AudioStreamPlayer2D_seek:
+
+- void  **seek**  **(** :ref:`float<class_float>` to_pos  **)**
+
+.. _class_AudioStreamPlayer2D_set_area_mask:
+
+- void  **set_area_mask**  **(** :ref:`int<class_int>` mask  **)**
+
+.. _class_AudioStreamPlayer2D_set_attenuation:
+
+- void  **set_attenuation**  **(** :ref:`float<class_float>` curve  **)**
+
+.. _class_AudioStreamPlayer2D_set_autoplay:
+
+- void  **set_autoplay**  **(** :ref:`bool<class_bool>` enable  **)**
+
+.. _class_AudioStreamPlayer2D_set_bus:
+
+- void  **set_bus**  **(** :ref:`String<class_string>` bus  **)**
+
+.. _class_AudioStreamPlayer2D_set_max_distance:
+
+- void  **set_max_distance**  **(** :ref:`float<class_float>` pixels  **)**
+
+.. _class_AudioStreamPlayer2D_set_stream:
+
+- void  **set_stream**  **(** :ref:`AudioStream<class_audiostream>` stream  **)**
+
+.. _class_AudioStreamPlayer2D_set_volume_db:
+
+- void  **set_volume_db**  **(** :ref:`float<class_float>` volume_db  **)**
+
+.. _class_AudioStreamPlayer2D_stop:
+
+- void  **stop**  **(** **)**
+
+

+ 281 - 0
classes/class_audiostreamplayer3d.rst

@@ -0,0 +1,281 @@
+.. 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_AudioStreamPlayer3D:
+
+AudioStreamPlayer3D
+===================
+
+**Inherits:** :ref:`Spatial<class_spatial>` **<** :ref:`Node<class_node>` **<** :ref:`Object<class_object>`
+
+**Category:** Core
+
+Brief Description
+-----------------
+
+
+
+Member Functions
+----------------
+
++------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`        | :ref:`get_area_mask<class_AudioStreamPlayer3D_get_area_mask>`  **(** **)** const                                                                               |
++------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`    | :ref:`get_attenuation_filter_cutoff_hz<class_AudioStreamPlayer3D_get_attenuation_filter_cutoff_hz>`  **(** **)** const                                         |
++------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`    | :ref:`get_attenuation_filter_db<class_AudioStreamPlayer3D_get_attenuation_filter_db>`  **(** **)** const                                                       |
++------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`        | :ref:`get_attenuation_model<class_AudioStreamPlayer3D_get_attenuation_model>`  **(** **)** const                                                               |
++------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_string>`  | :ref:`get_bus<class_AudioStreamPlayer3D_get_bus>`  **(** **)** const                                                                                           |
++------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`        | :ref:`get_doppler_tracking<class_AudioStreamPlayer3D_get_doppler_tracking>`  **(** **)** const                                                                 |
++------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`    | :ref:`get_emission_angle<class_AudioStreamPlayer3D_get_emission_angle>`  **(** **)** const                                                                     |
++------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`    | :ref:`get_emission_angle_filter_attenuation_db<class_AudioStreamPlayer3D_get_emission_angle_filter_attenuation_db>`  **(** **)** const                         |
++------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`    | :ref:`get_max_db<class_AudioStreamPlayer3D_get_max_db>`  **(** **)** const                                                                                     |
++------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`    | :ref:`get_max_distance<class_AudioStreamPlayer3D_get_max_distance>`  **(** **)** const                                                                         |
++------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`        | :ref:`get_out_of_range_mode<class_AudioStreamPlayer3D_get_out_of_range_mode>`  **(** **)** const                                                               |
++------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`    | :ref:`get_pos<class_AudioStreamPlayer3D_get_pos>`  **(** **)**                                                                                                 |
++------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Object<class_object>`  | :ref:`get_stream<class_AudioStreamPlayer3D_get_stream>`  **(** **)** const                                                                                     |
++------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`    | :ref:`get_unit_db<class_AudioStreamPlayer3D_get_unit_db>`  **(** **)** const                                                                                   |
++------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`    | :ref:`get_unit_size<class_AudioStreamPlayer3D_get_unit_size>`  **(** **)** const                                                                               |
++------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`      | :ref:`is_autoplay_enabled<class_AudioStreamPlayer3D_is_autoplay_enabled>`  **(** **)**                                                                         |
++------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`      | :ref:`is_emission_angle_enabled<class_AudioStreamPlayer3D_is_emission_angle_enabled>`  **(** **)** const                                                       |
++------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`      | :ref:`is_playing<class_AudioStreamPlayer3D_is_playing>`  **(** **)** const                                                                                     |
++------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                         | :ref:`play<class_AudioStreamPlayer3D_play>`  **(** :ref:`float<class_float>` from_pos=0  **)**                                                                 |
++------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                         | :ref:`seek<class_AudioStreamPlayer3D_seek>`  **(** :ref:`float<class_float>` to_pos  **)**                                                                     |
++------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                         | :ref:`set_area_mask<class_AudioStreamPlayer3D_set_area_mask>`  **(** :ref:`int<class_int>` mask  **)**                                                         |
++------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                         | :ref:`set_attenuation_filter_cutoff_hz<class_AudioStreamPlayer3D_set_attenuation_filter_cutoff_hz>`  **(** :ref:`float<class_float>` degrees  **)**            |
++------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                         | :ref:`set_attenuation_filter_db<class_AudioStreamPlayer3D_set_attenuation_filter_db>`  **(** :ref:`float<class_float>` db  **)**                               |
++------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                         | :ref:`set_attenuation_model<class_AudioStreamPlayer3D_set_attenuation_model>`  **(** :ref:`int<class_int>` model  **)**                                        |
++------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                         | :ref:`set_autoplay<class_AudioStreamPlayer3D_set_autoplay>`  **(** :ref:`bool<class_bool>` enable  **)**                                                       |
++------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                         | :ref:`set_bus<class_AudioStreamPlayer3D_set_bus>`  **(** :ref:`String<class_string>` bus  **)**                                                                |
++------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                         | :ref:`set_doppler_tracking<class_AudioStreamPlayer3D_set_doppler_tracking>`  **(** :ref:`int<class_int>` mode  **)**                                           |
++------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                         | :ref:`set_emission_angle<class_AudioStreamPlayer3D_set_emission_angle>`  **(** :ref:`float<class_float>` degrees  **)**                                        |
++------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                         | :ref:`set_emission_angle_enabled<class_AudioStreamPlayer3D_set_emission_angle_enabled>`  **(** :ref:`bool<class_bool>` enabled  **)**                          |
++------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                         | :ref:`set_emission_angle_filter_attenuation_db<class_AudioStreamPlayer3D_set_emission_angle_filter_attenuation_db>`  **(** :ref:`float<class_float>` db  **)** |
++------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                         | :ref:`set_max_db<class_AudioStreamPlayer3D_set_max_db>`  **(** :ref:`float<class_float>` max_db  **)**                                                         |
++------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                         | :ref:`set_max_distance<class_AudioStreamPlayer3D_set_max_distance>`  **(** :ref:`float<class_float>` metres  **)**                                             |
++------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                         | :ref:`set_out_of_range_mode<class_AudioStreamPlayer3D_set_out_of_range_mode>`  **(** :ref:`int<class_int>` mode  **)**                                         |
++------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                         | :ref:`set_stream<class_AudioStreamPlayer3D_set_stream>`  **(** :ref:`AudioStream<class_audiostream>` stream  **)**                                             |
++------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                         | :ref:`set_unit_db<class_AudioStreamPlayer3D_set_unit_db>`  **(** :ref:`float<class_float>` unit_db  **)**                                                      |
++------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                         | :ref:`set_unit_size<class_AudioStreamPlayer3D_set_unit_size>`  **(** :ref:`float<class_float>` unit_size  **)**                                                |
++------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                         | :ref:`stop<class_AudioStreamPlayer3D_stop>`  **(** **)**                                                                                                       |
++------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
+
+Member Variables
+----------------
+
+- :ref:`int<class_int>` **area_mask**
+- :ref:`float<class_float>` **attenuation_filter_cutoff_hz**
+- :ref:`float<class_float>` **attenuation_filter_db**
+- :ref:`int<class_int>` **attenuation_model**
+- :ref:`bool<class_bool>` **autoplay**
+- :ref:`String<class_string>` **bus**
+- :ref:`int<class_int>` **doppler_tracking**
+- :ref:`float<class_float>` **emission_angle_degrees**
+- :ref:`bool<class_bool>` **emission_angle_enabled**
+- :ref:`float<class_float>` **emission_angle_filter_attenuation_db**
+- :ref:`float<class_float>` **max_db**
+- :ref:`float<class_float>` **max_distance**
+- :ref:`int<class_int>` **out_of_range_mode**
+- :ref:`bool<class_bool>` **playing**
+- :ref:`AudioStream<class_audiostream>` **stream**
+- :ref:`float<class_float>` **unit_db**
+- :ref:`float<class_float>` **unit_size**
+
+Numeric Constants
+-----------------
+
+- **ATTENUATION_INVERSE_DISTANCE** = **0**
+- **ATTENUATION_INVERSE_SQUARE_DISTANCE** = **1**
+- **ATTENUATION_LOGARITHMIC** = **2**
+- **OUT_OF_RANGE_MIX** = **0**
+- **OUT_OF_RANGE_PAUSE** = **1**
+- **DOPPLER_TRACKING_DISABLED** = **0**
+- **DOPPLER_TRACKING_IDLE_STEP** = **1**
+- **DOPPLER_TRACKING_FIXED_STEP** = **2**
+
+Member Function Description
+---------------------------
+
+.. _class_AudioStreamPlayer3D_get_area_mask:
+
+- :ref:`int<class_int>`  **get_area_mask**  **(** **)** const
+
+.. _class_AudioStreamPlayer3D_get_attenuation_filter_cutoff_hz:
+
+- :ref:`float<class_float>`  **get_attenuation_filter_cutoff_hz**  **(** **)** const
+
+.. _class_AudioStreamPlayer3D_get_attenuation_filter_db:
+
+- :ref:`float<class_float>`  **get_attenuation_filter_db**  **(** **)** const
+
+.. _class_AudioStreamPlayer3D_get_attenuation_model:
+
+- :ref:`int<class_int>`  **get_attenuation_model**  **(** **)** const
+
+.. _class_AudioStreamPlayer3D_get_bus:
+
+- :ref:`String<class_string>`  **get_bus**  **(** **)** const
+
+.. _class_AudioStreamPlayer3D_get_doppler_tracking:
+
+- :ref:`int<class_int>`  **get_doppler_tracking**  **(** **)** const
+
+.. _class_AudioStreamPlayer3D_get_emission_angle:
+
+- :ref:`float<class_float>`  **get_emission_angle**  **(** **)** const
+
+.. _class_AudioStreamPlayer3D_get_emission_angle_filter_attenuation_db:
+
+- :ref:`float<class_float>`  **get_emission_angle_filter_attenuation_db**  **(** **)** const
+
+.. _class_AudioStreamPlayer3D_get_max_db:
+
+- :ref:`float<class_float>`  **get_max_db**  **(** **)** const
+
+.. _class_AudioStreamPlayer3D_get_max_distance:
+
+- :ref:`float<class_float>`  **get_max_distance**  **(** **)** const
+
+.. _class_AudioStreamPlayer3D_get_out_of_range_mode:
+
+- :ref:`int<class_int>`  **get_out_of_range_mode**  **(** **)** const
+
+.. _class_AudioStreamPlayer3D_get_pos:
+
+- :ref:`float<class_float>`  **get_pos**  **(** **)**
+
+.. _class_AudioStreamPlayer3D_get_stream:
+
+- :ref:`Object<class_object>`  **get_stream**  **(** **)** const
+
+.. _class_AudioStreamPlayer3D_get_unit_db:
+
+- :ref:`float<class_float>`  **get_unit_db**  **(** **)** const
+
+.. _class_AudioStreamPlayer3D_get_unit_size:
+
+- :ref:`float<class_float>`  **get_unit_size**  **(** **)** const
+
+.. _class_AudioStreamPlayer3D_is_autoplay_enabled:
+
+- :ref:`bool<class_bool>`  **is_autoplay_enabled**  **(** **)**
+
+.. _class_AudioStreamPlayer3D_is_emission_angle_enabled:
+
+- :ref:`bool<class_bool>`  **is_emission_angle_enabled**  **(** **)** const
+
+.. _class_AudioStreamPlayer3D_is_playing:
+
+- :ref:`bool<class_bool>`  **is_playing**  **(** **)** const
+
+.. _class_AudioStreamPlayer3D_play:
+
+- void  **play**  **(** :ref:`float<class_float>` from_pos=0  **)**
+
+.. _class_AudioStreamPlayer3D_seek:
+
+- void  **seek**  **(** :ref:`float<class_float>` to_pos  **)**
+
+.. _class_AudioStreamPlayer3D_set_area_mask:
+
+- void  **set_area_mask**  **(** :ref:`int<class_int>` mask  **)**
+
+.. _class_AudioStreamPlayer3D_set_attenuation_filter_cutoff_hz:
+
+- void  **set_attenuation_filter_cutoff_hz**  **(** :ref:`float<class_float>` degrees  **)**
+
+.. _class_AudioStreamPlayer3D_set_attenuation_filter_db:
+
+- void  **set_attenuation_filter_db**  **(** :ref:`float<class_float>` db  **)**
+
+.. _class_AudioStreamPlayer3D_set_attenuation_model:
+
+- void  **set_attenuation_model**  **(** :ref:`int<class_int>` model  **)**
+
+.. _class_AudioStreamPlayer3D_set_autoplay:
+
+- void  **set_autoplay**  **(** :ref:`bool<class_bool>` enable  **)**
+
+.. _class_AudioStreamPlayer3D_set_bus:
+
+- void  **set_bus**  **(** :ref:`String<class_string>` bus  **)**
+
+.. _class_AudioStreamPlayer3D_set_doppler_tracking:
+
+- void  **set_doppler_tracking**  **(** :ref:`int<class_int>` mode  **)**
+
+.. _class_AudioStreamPlayer3D_set_emission_angle:
+
+- void  **set_emission_angle**  **(** :ref:`float<class_float>` degrees  **)**
+
+.. _class_AudioStreamPlayer3D_set_emission_angle_enabled:
+
+- void  **set_emission_angle_enabled**  **(** :ref:`bool<class_bool>` enabled  **)**
+
+.. _class_AudioStreamPlayer3D_set_emission_angle_filter_attenuation_db:
+
+- void  **set_emission_angle_filter_attenuation_db**  **(** :ref:`float<class_float>` db  **)**
+
+.. _class_AudioStreamPlayer3D_set_max_db:
+
+- void  **set_max_db**  **(** :ref:`float<class_float>` max_db  **)**
+
+.. _class_AudioStreamPlayer3D_set_max_distance:
+
+- void  **set_max_distance**  **(** :ref:`float<class_float>` metres  **)**
+
+.. _class_AudioStreamPlayer3D_set_out_of_range_mode:
+
+- void  **set_out_of_range_mode**  **(** :ref:`int<class_int>` mode  **)**
+
+.. _class_AudioStreamPlayer3D_set_stream:
+
+- void  **set_stream**  **(** :ref:`AudioStream<class_audiostream>` stream  **)**
+
+.. _class_AudioStreamPlayer3D_set_unit_db:
+
+- void  **set_unit_db**  **(** :ref:`float<class_float>` unit_db  **)**
+
+.. _class_AudioStreamPlayer3D_set_unit_size:
+
+- void  **set_unit_size**  **(** :ref:`float<class_float>` unit_size  **)**
+
+.. _class_AudioStreamPlayer3D_stop:
+
+- void  **stop**  **(** **)**
+
+

+ 56 - 0
classes/class_audiostreamrandompitch.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_AudioStreamRandomPitch:
+
+AudioStreamRandomPitch
+======================
+
+**Inherits:** :ref:`AudioStream<class_audiostream>` **<** :ref:`Resource<class_resource>` **<** :ref:`Reference<class_reference>` **<** :ref:`Object<class_object>`
+
+**Category:** Core
+
+Brief Description
+-----------------
+
+
+
+Member Functions
+----------------
+
++------------------------------+-------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Object<class_object>`  | :ref:`get_audio_stream<class_AudioStreamRandomPitch_get_audio_stream>`  **(** **)** const                               |
++------------------------------+-------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`    | :ref:`get_random_pitch<class_AudioStreamRandomPitch_get_random_pitch>`  **(** **)** const                               |
++------------------------------+-------------------------------------------------------------------------------------------------------------------------+
+| void                         | :ref:`set_audio_stream<class_AudioStreamRandomPitch_set_audio_stream>`  **(** :ref:`Object<class_object>` stream  **)** |
++------------------------------+-------------------------------------------------------------------------------------------------------------------------+
+| void                         | :ref:`set_random_pitch<class_AudioStreamRandomPitch_set_random_pitch>`  **(** :ref:`float<class_float>` scale  **)**    |
++------------------------------+-------------------------------------------------------------------------------------------------------------------------+
+
+Member Variables
+----------------
+
+- :ref:`AudioStream<class_audiostream>` **audio_stream**
+- :ref:`float<class_float>` **random_pitch**
+
+Member Function Description
+---------------------------
+
+.. _class_AudioStreamRandomPitch_get_audio_stream:
+
+- :ref:`Object<class_object>`  **get_audio_stream**  **(** **)** const
+
+.. _class_AudioStreamRandomPitch_get_random_pitch:
+
+- :ref:`float<class_float>`  **get_random_pitch**  **(** **)** const
+
+.. _class_AudioStreamRandomPitch_set_audio_stream:
+
+- void  **set_audio_stream**  **(** :ref:`Object<class_object>` stream  **)**
+
+.. _class_AudioStreamRandomPitch_set_random_pitch:
+
+- void  **set_random_pitch**  **(** :ref:`float<class_float>` scale  **)**
+
+

+ 2 - 2
classes/class_basis.rst

@@ -195,12 +195,12 @@ Return the transposed version of the matrix.
 
 
 - :ref:`Vector3<class_vector3>`  **xform**  **(** :ref:`Vector3<class_vector3>` v  **)**
 - :ref:`Vector3<class_vector3>`  **xform**  **(** :ref:`Vector3<class_vector3>` v  **)**
 
 
-Return a vector transformed (multiplied) by the matrix and return it.
+Return a vector transformed (multiplied) by the matrix.
 
 
 .. _class_Basis_xform_inv:
 .. _class_Basis_xform_inv:
 
 
 - :ref:`Vector3<class_vector3>`  **xform_inv**  **(** :ref:`Vector3<class_vector3>` v  **)**
 - :ref:`Vector3<class_vector3>`  **xform_inv**  **(** :ref:`Vector3<class_vector3>` v  **)**
 
 
-Return a vector transformed (multiplied) by the transposed matrix and return it. Note that this is a multiplication by inverse only when the matrix represents a rotation-reflection.
+Return a vector transformed (multiplied) by the transposed matrix. Note that this results in a multiplication by the inverse of the matrix only if it represents a rotation-reflection.
 
 
 
 

+ 15 - 0
classes/class_camera.rst

@@ -27,6 +27,8 @@ Member Functions
 +----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`int<class_int>`                  | :ref:`get_cull_mask<class_Camera_get_cull_mask>`  **(** **)** const                                                                                                 |
 | :ref:`int<class_int>`                  | :ref:`get_cull_mask<class_Camera_get_cull_mask>`  **(** **)** const                                                                                                 |
 +----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                  | :ref:`get_doppler_tracking<class_Camera_get_doppler_tracking>`  **(** **)** const                                                                                   |
++----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`Environment<class_environment>`  | :ref:`get_environment<class_Camera_get_environment>`  **(** **)** const                                                                                             |
 | :ref:`Environment<class_environment>`  | :ref:`get_environment<class_Camera_get_environment>`  **(** **)** const                                                                                             |
 +----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`float<class_float>`              | :ref:`get_fov<class_Camera_get_fov>`  **(** **)** const                                                                                                             |
 | :ref:`float<class_float>`              | :ref:`get_fov<class_Camera_get_fov>`  **(** **)** const                                                                                                             |
@@ -61,6 +63,8 @@ Member Functions
 +----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                   | :ref:`set_cull_mask<class_Camera_set_cull_mask>`  **(** :ref:`int<class_int>` mask  **)**                                                                           |
 | void                                   | :ref:`set_cull_mask<class_Camera_set_cull_mask>`  **(** :ref:`int<class_int>` mask  **)**                                                                           |
 +----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                   | :ref:`set_doppler_tracking<class_Camera_set_doppler_tracking>`  **(** :ref:`int<class_int>` mode  **)**                                                             |
++----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                   | :ref:`set_environment<class_Camera_set_environment>`  **(** :ref:`Environment<class_environment>` env  **)**                                                        |
 | void                                   | :ref:`set_environment<class_Camera_set_environment>`  **(** :ref:`Environment<class_environment>` env  **)**                                                        |
 +----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +----------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                   | :ref:`set_h_offset<class_Camera_set_h_offset>`  **(** :ref:`float<class_float>` ofs  **)**                                                                          |
 | void                                   | :ref:`set_h_offset<class_Camera_set_h_offset>`  **(** :ref:`float<class_float>` ofs  **)**                                                                          |
@@ -83,6 +87,9 @@ Numeric Constants
 - **PROJECTION_ORTHOGONAL** = **1** --- Orthogonal Projection (objects remain the same size on the screen no matter how far away they are).
 - **PROJECTION_ORTHOGONAL** = **1** --- Orthogonal Projection (objects remain the same size on the screen no matter how far away they are).
 - **KEEP_WIDTH** = **0**
 - **KEEP_WIDTH** = **0**
 - **KEEP_HEIGHT** = **1**
 - **KEEP_HEIGHT** = **1**
+- **DOPPLER_TRACKING_DISABLED** = **0**
+- **DOPPLER_TRACKING_IDLE_STEP** = **1**
+- **DOPPLER_TRACKING_FIXED_STEP** = **2**
 
 
 Description
 Description
 -----------
 -----------
@@ -106,6 +113,10 @@ Get the camera transform. Subclassed cameras (such as CharacterCamera) may provi
 
 
 - :ref:`int<class_int>`  **get_cull_mask**  **(** **)** const
 - :ref:`int<class_int>`  **get_cull_mask**  **(** **)** const
 
 
+.. _class_Camera_get_doppler_tracking:
+
+- :ref:`int<class_int>`  **get_doppler_tracking**  **(** **)** const
+
 .. _class_Camera_get_environment:
 .. _class_Camera_get_environment:
 
 
 - :ref:`Environment<class_environment>`  **get_environment**  **(** **)** const
 - :ref:`Environment<class_environment>`  **get_environment**  **(** **)** const
@@ -182,6 +193,10 @@ Return a 3D position in worldspace, that is the result of projecting a point on
 
 
 - void  **set_cull_mask**  **(** :ref:`int<class_int>` mask  **)**
 - void  **set_cull_mask**  **(** :ref:`int<class_int>` mask  **)**
 
 
+.. _class_Camera_set_doppler_tracking:
+
+- void  **set_doppler_tracking**  **(** :ref:`int<class_int>` mode  **)**
+
 .. _class_Camera_set_environment:
 .. _class_Camera_set_environment:
 
 
 - void  **set_environment**  **(** :ref:`Environment<class_environment>` env  **)**
 - void  **set_environment**  **(** :ref:`Environment<class_environment>` env  **)**

+ 39 - 0
classes/class_camera2d.rst

@@ -53,10 +53,16 @@ Member Functions
 +----------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------+
 +----------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`bool<class_bool>`          | :ref:`is_h_drag_enabled<class_Camera2D_is_h_drag_enabled>`  **(** **)** const                                                                |
 | :ref:`bool<class_bool>`          | :ref:`is_h_drag_enabled<class_Camera2D_is_h_drag_enabled>`  **(** **)** const                                                                |
 +----------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------+
 +----------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`          | :ref:`is_limit_drawing_enabled<class_Camera2D_is_limit_drawing_enabled>`  **(** **)** const                                                  |
++----------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`bool<class_bool>`          | :ref:`is_limit_smoothing_enabled<class_Camera2D_is_limit_smoothing_enabled>`  **(** **)** const                                              |
 | :ref:`bool<class_bool>`          | :ref:`is_limit_smoothing_enabled<class_Camera2D_is_limit_smoothing_enabled>`  **(** **)** const                                              |
 +----------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------+
 +----------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`          | :ref:`is_margin_drawing_enabled<class_Camera2D_is_margin_drawing_enabled>`  **(** **)** const                                                |
++----------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`bool<class_bool>`          | :ref:`is_rotating<class_Camera2D_is_rotating>`  **(** **)** const                                                                            |
 | :ref:`bool<class_bool>`          | :ref:`is_rotating<class_Camera2D_is_rotating>`  **(** **)** const                                                                            |
 +----------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------+
 +----------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`          | :ref:`is_screen_drawing_enabled<class_Camera2D_is_screen_drawing_enabled>`  **(** **)** const                                                |
++----------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`bool<class_bool>`          | :ref:`is_v_drag_enabled<class_Camera2D_is_v_drag_enabled>`  **(** **)** const                                                                |
 | :ref:`bool<class_bool>`          | :ref:`is_v_drag_enabled<class_Camera2D_is_v_drag_enabled>`  **(** **)** const                                                                |
 +----------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------+
 +----------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------+
 | void                             | :ref:`make_current<class_Camera2D_make_current>`  **(** **)**                                                                                |
 | void                             | :ref:`make_current<class_Camera2D_make_current>`  **(** **)**                                                                                |
@@ -79,12 +85,18 @@ Member Functions
 +----------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------+
 +----------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------+
 | void                             | :ref:`set_limit<class_Camera2D_set_limit>`  **(** :ref:`int<class_int>` margin, :ref:`int<class_int>` limit  **)**                           |
 | void                             | :ref:`set_limit<class_Camera2D_set_limit>`  **(** :ref:`int<class_int>` margin, :ref:`int<class_int>` limit  **)**                           |
 +----------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------+
 +----------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------+
+| void                             | :ref:`set_limit_drawing_enabled<class_Camera2D_set_limit_drawing_enabled>`  **(** :ref:`bool<class_bool>` limit_drawing_enabled  **)**       |
++----------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------+
 | void                             | :ref:`set_limit_smoothing_enabled<class_Camera2D_set_limit_smoothing_enabled>`  **(** :ref:`bool<class_bool>` limit_smoothing_enabled  **)** |
 | void                             | :ref:`set_limit_smoothing_enabled<class_Camera2D_set_limit_smoothing_enabled>`  **(** :ref:`bool<class_bool>` limit_smoothing_enabled  **)** |
 +----------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------+
 +----------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------+
+| void                             | :ref:`set_margin_drawing_enabled<class_Camera2D_set_margin_drawing_enabled>`  **(** :ref:`bool<class_bool>` margin_drawing_enabled  **)**    |
++----------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------+
 | void                             | :ref:`set_offset<class_Camera2D_set_offset>`  **(** :ref:`Vector2<class_vector2>` offset  **)**                                              |
 | void                             | :ref:`set_offset<class_Camera2D_set_offset>`  **(** :ref:`Vector2<class_vector2>` offset  **)**                                              |
 +----------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------+
 +----------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------+
 | void                             | :ref:`set_rotating<class_Camera2D_set_rotating>`  **(** :ref:`bool<class_bool>` rotating  **)**                                              |
 | void                             | :ref:`set_rotating<class_Camera2D_set_rotating>`  **(** :ref:`bool<class_bool>` rotating  **)**                                              |
 +----------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------+
 +----------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------+
+| void                             | :ref:`set_screen_drawing_enabled<class_Camera2D_set_screen_drawing_enabled>`  **(** :ref:`bool<class_bool>` screen_drawing_enabled  **)**    |
++----------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------+
 | void                             | :ref:`set_v_drag_enabled<class_Camera2D_set_v_drag_enabled>`  **(** :ref:`bool<class_bool>` enabled  **)**                                   |
 | void                             | :ref:`set_v_drag_enabled<class_Camera2D_set_v_drag_enabled>`  **(** :ref:`bool<class_bool>` enabled  **)**                                   |
 +----------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------+
 +----------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------+
 | void                             | :ref:`set_v_offset<class_Camera2D_set_v_offset>`  **(** :ref:`float<class_float>` ofs  **)**                                                 |
 | void                             | :ref:`set_v_offset<class_Camera2D_set_v_offset>`  **(** :ref:`float<class_float>` ofs  **)**                                                 |
@@ -103,6 +115,9 @@ Member Variables
 - :ref:`float<class_float>` **drag_margin_right**
 - :ref:`float<class_float>` **drag_margin_right**
 - :ref:`float<class_float>` **drag_margin_top**
 - :ref:`float<class_float>` **drag_margin_top**
 - :ref:`bool<class_bool>` **drag_margin_v_enabled**
 - :ref:`bool<class_bool>` **drag_margin_v_enabled**
+- :ref:`bool<class_bool>` **editor_draw_drag_margin**
+- :ref:`bool<class_bool>` **editor_draw_limits**
+- :ref:`bool<class_bool>` **editor_draw_screen**
 - :ref:`int<class_int>` **limit_bottom**
 - :ref:`int<class_int>` **limit_bottom**
 - :ref:`int<class_int>` **limit_left**
 - :ref:`int<class_int>` **limit_left**
 - :ref:`int<class_int>` **limit_right**
 - :ref:`int<class_int>` **limit_right**
@@ -212,14 +227,26 @@ Return true of this is the current camera (see :ref:`make_current<class_Camera2D
 
 
 - :ref:`bool<class_bool>`  **is_h_drag_enabled**  **(** **)** const
 - :ref:`bool<class_bool>`  **is_h_drag_enabled**  **(** **)** const
 
 
+.. _class_Camera2D_is_limit_drawing_enabled:
+
+- :ref:`bool<class_bool>`  **is_limit_drawing_enabled**  **(** **)** const
+
 .. _class_Camera2D_is_limit_smoothing_enabled:
 .. _class_Camera2D_is_limit_smoothing_enabled:
 
 
 - :ref:`bool<class_bool>`  **is_limit_smoothing_enabled**  **(** **)** const
 - :ref:`bool<class_bool>`  **is_limit_smoothing_enabled**  **(** **)** const
 
 
+.. _class_Camera2D_is_margin_drawing_enabled:
+
+- :ref:`bool<class_bool>`  **is_margin_drawing_enabled**  **(** **)** const
+
 .. _class_Camera2D_is_rotating:
 .. _class_Camera2D_is_rotating:
 
 
 - :ref:`bool<class_bool>`  **is_rotating**  **(** **)** const
 - :ref:`bool<class_bool>`  **is_rotating**  **(** **)** const
 
 
+.. _class_Camera2D_is_screen_drawing_enabled:
+
+- :ref:`bool<class_bool>`  **is_screen_drawing_enabled**  **(** **)** const
+
 .. _class_Camera2D_is_v_drag_enabled:
 .. _class_Camera2D_is_v_drag_enabled:
 
 
 - :ref:`bool<class_bool>`  **is_v_drag_enabled**  **(** **)** const
 - :ref:`bool<class_bool>`  **is_v_drag_enabled**  **(** **)** const
@@ -274,6 +301,10 @@ Set the margins needed to drag the camera (relative to the screen size). Margin
 
 
 Set the scrolling limit in pixels.
 Set the scrolling limit in pixels.
 
 
+.. _class_Camera2D_set_limit_drawing_enabled:
+
+- void  **set_limit_drawing_enabled**  **(** :ref:`bool<class_bool>` limit_drawing_enabled  **)**
+
 .. _class_Camera2D_set_limit_smoothing_enabled:
 .. _class_Camera2D_set_limit_smoothing_enabled:
 
 
 - void  **set_limit_smoothing_enabled**  **(** :ref:`bool<class_bool>` limit_smoothing_enabled  **)**
 - void  **set_limit_smoothing_enabled**  **(** :ref:`bool<class_bool>` limit_smoothing_enabled  **)**
@@ -282,6 +313,10 @@ Smooth camera when reaching camera limits.
 
 
 This requires camera smoothing being enabled to have a noticeable effect.
 This requires camera smoothing being enabled to have a noticeable effect.
 
 
+.. _class_Camera2D_set_margin_drawing_enabled:
+
+- void  **set_margin_drawing_enabled**  **(** :ref:`bool<class_bool>` margin_drawing_enabled  **)**
+
 .. _class_Camera2D_set_offset:
 .. _class_Camera2D_set_offset:
 
 
 - void  **set_offset**  **(** :ref:`Vector2<class_vector2>` offset  **)**
 - void  **set_offset**  **(** :ref:`Vector2<class_vector2>` offset  **)**
@@ -292,6 +327,10 @@ Set the scroll offset. Useful for looking around or camera shake animations.
 
 
 - void  **set_rotating**  **(** :ref:`bool<class_bool>` rotating  **)**
 - void  **set_rotating**  **(** :ref:`bool<class_bool>` rotating  **)**
 
 
+.. _class_Camera2D_set_screen_drawing_enabled:
+
+- void  **set_screen_drawing_enabled**  **(** :ref:`bool<class_bool>` screen_drawing_enabled  **)**
+
 .. _class_Camera2D_set_v_drag_enabled:
 .. _class_Camera2D_set_v_drag_enabled:
 
 
 - void  **set_v_drag_enabled**  **(** :ref:`bool<class_bool>` enabled  **)**
 - void  **set_v_drag_enabled**  **(** :ref:`bool<class_bool>` enabled  **)**

+ 139 - 127
classes/class_canvasitem.rst

@@ -20,123 +20,127 @@ Base class of anything 2D.
 Member Functions
 Member Functions
 ----------------
 ----------------
 
 
-+----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                         | :ref:`_draw<class_CanvasItem__draw>`  **(** **)** virtual                                                                                                                                                                                                                                                           |
-+----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`                    | :ref:`draw_char<class_CanvasItem_draw_char>`  **(** :ref:`Font<class_font>` font, :ref:`Vector2<class_vector2>` pos, :ref:`String<class_string>` char, :ref:`String<class_string>` next, :ref:`Color<class_color>` modulate=Color(1,1,1,1)  **)**                                                                   |
-+----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                         | :ref:`draw_circle<class_CanvasItem_draw_circle>`  **(** :ref:`Vector2<class_vector2>` pos, :ref:`float<class_float>` radius, :ref:`Color<class_color>` color  **)**                                                                                                                                                 |
-+----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                         | :ref:`draw_colored_polygon<class_CanvasItem_draw_colored_polygon>`  **(** :ref:`PoolVector2Array<class_poolvector2array>` points, :ref:`Color<class_color>` color, :ref:`PoolVector2Array<class_poolvector2array>` uvs=PoolVector2Array([]), :ref:`Texture<class_texture>` texture=NULL  **)**                      |
-+----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                         | :ref:`draw_line<class_CanvasItem_draw_line>`  **(** :ref:`Vector2<class_vector2>` from, :ref:`Vector2<class_vector2>` to, :ref:`Color<class_color>` color, :ref:`float<class_float>` width=1, :ref:`bool<class_bool>` antialiased=false  **)**                                                                      |
-+----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                         | :ref:`draw_polygon<class_CanvasItem_draw_polygon>`  **(** :ref:`PoolVector2Array<class_poolvector2array>` points, :ref:`PoolColorArray<class_poolcolorarray>` colors, :ref:`PoolVector2Array<class_poolvector2array>` uvs=PoolVector2Array([]), :ref:`Texture<class_texture>` texture=NULL  **)**                   |
-+----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                         | :ref:`draw_primitive<class_CanvasItem_draw_primitive>`  **(** :ref:`PoolVector2Array<class_poolvector2array>` points, :ref:`PoolColorArray<class_poolcolorarray>` colors, :ref:`PoolVector2Array<class_poolvector2array>` uvs, :ref:`Texture<class_texture>` texture=NULL, :ref:`float<class_float>` width=1  **)** |
-+----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                         | :ref:`draw_rect<class_CanvasItem_draw_rect>`  **(** :ref:`Rect2<class_rect2>` rect, :ref:`Color<class_color>` color  **)**                                                                                                                                                                                          |
-+----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| 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:`Transform2D<class_transform2d>` 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  **)**                                                                                                                                                                      |
-+----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                         | :ref:`draw_texture<class_CanvasItem_draw_texture>`  **(** :ref:`Texture<class_texture>` texture, :ref:`Vector2<class_vector2>` pos, :ref:`Color<class_color>` modulate=Color(1,1,1,1)  **)**                                                                                                                        |
-+----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                         | :ref:`draw_texture_rect<class_CanvasItem_draw_texture_rect>`  **(** :ref:`Texture<class_texture>` texture, :ref:`Rect2<class_rect2>` rect, :ref:`bool<class_bool>` tile, :ref:`Color<class_color>` modulate=Color(1,1,1,1), :ref:`bool<class_bool>` transpose=false  **)**                                          |
-+----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| 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  **)**                      |
-+----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :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>`  **(** :ref:`Variant<class_variant>` state  **)**                                                                                                                                                                                                            |
-+----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`RID<class_rid>`                        | :ref:`get_canvas<class_CanvasItem_get_canvas>`  **(** **)** const                                                                                                                                                                                                                                                   |
-+----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`RID<class_rid>`                        | :ref:`get_canvas_item<class_CanvasItem_get_canvas_item>`  **(** **)** const                                                                                                                                                                                                                                         |
-+----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Transform2D<class_transform2d>`        | :ref:`get_canvas_transform<class_CanvasItem_get_canvas_transform>`  **(** **)** const                                                                                                                                                                                                                               |
-+----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Vector2<class_vector2>`                | :ref:`get_global_mouse_position<class_CanvasItem_get_global_mouse_position>`  **(** **)** const                                                                                                                                                                                                                     |
-+----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Transform2D<class_transform2d>`        | :ref:`get_global_transform<class_CanvasItem_get_global_transform>`  **(** **)** const                                                                                                                                                                                                                               |
-+----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Transform2D<class_transform2d>`        | :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                                                                                                                                                                                                                                           |
-+----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Vector2<class_vector2>`                | :ref:`get_local_mouse_pos<class_CanvasItem_get_local_mouse_pos>`  **(** **)** const                                                                                                                                                                                                                                 |
-+----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`ShaderMaterial<class_shadermaterial>`  | :ref:`get_material<class_CanvasItem_get_material>`  **(** **)** const                                                                                                                                                                                                                                               |
-+----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Color<class_color>`                    | :ref:`get_modulate<class_CanvasItem_get_modulate>`  **(** **)** const                                                                                                                                                                                                                                               |
-+----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Color<class_color>`                    | :ref:`get_self_modulate<class_CanvasItem_get_self_modulate>`  **(** **)** const                                                                                                                                                                                                                                     |
-+----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Transform2D<class_transform2d>`        | :ref:`get_transform<class_CanvasItem_get_transform>`  **(** **)** const                                                                                                                                                                                                                                             |
-+----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                      | :ref:`get_use_parent_material<class_CanvasItem_get_use_parent_material>`  **(** **)** const                                                                                                                                                                                                                         |
-+----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Rect2<class_rect2>`                    | :ref:`get_viewport_rect<class_CanvasItem_get_viewport_rect>`  **(** **)** const                                                                                                                                                                                                                                     |
-+----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Transform2D<class_transform2d>`        | :ref:`get_viewport_transform<class_CanvasItem_get_viewport_transform>`  **(** **)** const                                                                                                                                                                                                                           |
-+----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Object<class_object>`                  | :ref:`get_world_2d<class_CanvasItem_get_world_2d>`  **(** **)** const                                                                                                                                                                                                                                               |
-+----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                         | :ref:`hide<class_CanvasItem_hide>`  **(** **)**                                                                                                                                                                                                                                                                     |
-+----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                      | :ref:`is_draw_behind_parent_enabled<class_CanvasItem_is_draw_behind_parent_enabled>`  **(** **)** const                                                                                                                                                                                                             |
-+----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                      | :ref:`is_local_transform_notification_enabled<class_CanvasItem_is_local_transform_notification_enabled>`  **(** **)** const                                                                                                                                                                                         |
-+----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                      | :ref:`is_set_as_toplevel<class_CanvasItem_is_set_as_toplevel>`  **(** **)** const                                                                                                                                                                                                                                   |
-+----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                      | :ref:`is_transform_notification_enabled<class_CanvasItem_is_transform_notification_enabled>`  **(** **)** const                                                                                                                                                                                                     |
-+----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                      | :ref:`is_visible<class_CanvasItem_is_visible>`  **(** **)** const                                                                                                                                                                                                                                                   |
-+----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                      | :ref:`is_visible_in_tree<class_CanvasItem_is_visible_in_tree>`  **(** **)** const                                                                                                                                                                                                                                   |
-+----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Vector2<class_vector2>`                | :ref:`make_canvas_pos_local<class_CanvasItem_make_canvas_pos_local>`  **(** :ref:`Vector2<class_vector2>` screen_point  **)** const                                                                                                                                                                                 |
-+----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Object<class_object>`                  | :ref:`make_input_local<class_CanvasItem_make_input_local>`  **(** :ref:`Object<class_object>` event  **)** const                                                                                                                                                                                                    |
-+----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                         | :ref:`set_as_toplevel<class_CanvasItem_set_as_toplevel>`  **(** :ref:`bool<class_bool>` enable  **)**                                                                                                                                                                                                               |
-+----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                         | :ref:`set_draw_behind_parent<class_CanvasItem_set_draw_behind_parent>`  **(** :ref:`bool<class_bool>` enable  **)**                                                                                                                                                                                                 |
-+----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                         | :ref:`set_light_mask<class_CanvasItem_set_light_mask>`  **(** :ref:`int<class_int>` light_mask  **)**                                                                                                                                                                                                               |
-+----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                         | :ref:`set_material<class_CanvasItem_set_material>`  **(** :ref:`ShaderMaterial<class_shadermaterial>` material  **)**                                                                                                                                                                                               |
-+----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                         | :ref:`set_modulate<class_CanvasItem_set_modulate>`  **(** :ref:`Color<class_color>` modulate  **)**                                                                                                                                                                                                                 |
-+----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                         | :ref:`set_notify_local_transform<class_CanvasItem_set_notify_local_transform>`  **(** :ref:`bool<class_bool>` enable  **)**                                                                                                                                                                                         |
-+----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                         | :ref:`set_notify_transform<class_CanvasItem_set_notify_transform>`  **(** :ref:`bool<class_bool>` enable  **)**                                                                                                                                                                                                     |
-+----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                         | :ref:`set_self_modulate<class_CanvasItem_set_self_modulate>`  **(** :ref:`Color<class_color>` self_modulate  **)**                                                                                                                                                                                                  |
-+----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                         | :ref:`set_use_parent_material<class_CanvasItem_set_use_parent_material>`  **(** :ref:`bool<class_bool>` enable  **)**                                                                                                                                                                                               |
-+----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                         | :ref:`set_visible<class_CanvasItem_set_visible>`  **(** :ref:`bool<class_bool>` arg0  **)**                                                                                                                                                                                                                         |
-+----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                         | :ref:`show<class_CanvasItem_show>`  **(** **)**                                                                                                                                                                                                                                                                     |
-+----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                         | :ref:`update<class_CanvasItem_update>`  **(** **)**                                                                                                                                                                                                                                                                 |
-+----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
++----------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                   | :ref:`_draw<class_CanvasItem__draw>`  **(** **)** virtual                                                                                                                                                                                                                                                                                                                           |
++----------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`              | :ref:`draw_char<class_CanvasItem_draw_char>`  **(** :ref:`Font<class_font>` font, :ref:`Vector2<class_vector2>` pos, :ref:`String<class_string>` char, :ref:`String<class_string>` next, :ref:`Color<class_color>` modulate=Color(1,1,1,1)  **)**                                                                                                                                   |
++----------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                   | :ref:`draw_circle<class_CanvasItem_draw_circle>`  **(** :ref:`Vector2<class_vector2>` pos, :ref:`float<class_float>` radius, :ref:`Color<class_color>` color  **)**                                                                                                                                                                                                                 |
++----------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                   | :ref:`draw_colored_polygon<class_CanvasItem_draw_colored_polygon>`  **(** :ref:`PoolVector2Array<class_poolvector2array>` points, :ref:`Color<class_color>` color, :ref:`PoolVector2Array<class_poolvector2array>` uvs=PoolVector2Array([]), :ref:`Texture<class_texture>` texture=NULL, :ref:`Texture<class_texture>` normal_map=NULL  **)**                                       |
++----------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                   | :ref:`draw_line<class_CanvasItem_draw_line>`  **(** :ref:`Vector2<class_vector2>` from, :ref:`Vector2<class_vector2>` to, :ref:`Color<class_color>` color, :ref:`float<class_float>` width=1, :ref:`bool<class_bool>` antialiased=false  **)**                                                                                                                                      |
++----------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                   | :ref:`draw_polygon<class_CanvasItem_draw_polygon>`  **(** :ref:`PoolVector2Array<class_poolvector2array>` points, :ref:`PoolColorArray<class_poolcolorarray>` colors, :ref:`PoolVector2Array<class_poolvector2array>` uvs=PoolVector2Array([]), :ref:`Texture<class_texture>` texture=NULL, :ref:`Texture<class_texture>` normal_map=NULL  **)**                                    |
++----------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                   | :ref:`draw_polyline<class_CanvasItem_draw_polyline>`  **(** :ref:`PoolVector2Array<class_poolvector2array>` points, :ref:`Color<class_color>` color, :ref:`float<class_float>` width=1, :ref:`bool<class_bool>` antialiased=false  **)**                                                                                                                                            |
++----------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                   | :ref:`draw_polyline_colors<class_CanvasItem_draw_polyline_colors>`  **(** :ref:`PoolVector2Array<class_poolvector2array>` points, :ref:`PoolColorArray<class_poolcolorarray>` colors, :ref:`float<class_float>` width=1, :ref:`bool<class_bool>` antialiased=false  **)**                                                                                                           |
++----------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                   | :ref:`draw_primitive<class_CanvasItem_draw_primitive>`  **(** :ref:`PoolVector2Array<class_poolvector2array>` points, :ref:`PoolColorArray<class_poolcolorarray>` colors, :ref:`PoolVector2Array<class_poolvector2array>` uvs, :ref:`Texture<class_texture>` texture=NULL, :ref:`float<class_float>` width=1, :ref:`Texture<class_texture>` normal_map=NULL  **)**                  |
++----------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                   | :ref:`draw_rect<class_CanvasItem_draw_rect>`  **(** :ref:`Rect2<class_rect2>` rect, :ref:`Color<class_color>` color, :ref:`bool<class_bool>` filled=true  **)**                                                                                                                                                                                                                     |
++----------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| 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:`Transform2D<class_transform2d>` 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  **)**                                                                                                                                                                                                                                      |
++----------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                   | :ref:`draw_texture<class_CanvasItem_draw_texture>`  **(** :ref:`Texture<class_texture>` texture, :ref:`Vector2<class_vector2>` pos, :ref:`Color<class_color>` modulate=Color(1,1,1,1), :ref:`Texture<class_texture>` normal_map=NULL  **)**                                                                                                                                         |
++----------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                   | :ref:`draw_texture_rect<class_CanvasItem_draw_texture_rect>`  **(** :ref:`Texture<class_texture>` texture, :ref:`Rect2<class_rect2>` rect, :ref:`bool<class_bool>` tile, :ref:`Color<class_color>` modulate=Color(1,1,1,1), :ref:`bool<class_bool>` transpose=false, :ref:`Texture<class_texture>` normal_map=NULL  **)**                                                           |
++----------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| 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, :ref:`Texture<class_texture>` normal_map=NULL, :ref:`bool<class_bool>` clip_uv=true  **)** |
++----------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :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>`  **(** :ref:`Variant<class_variant>` state  **)**                                                                                                                                                                                                                                                                            |
++----------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`RID<class_rid>`                  | :ref:`get_canvas<class_CanvasItem_get_canvas>`  **(** **)** const                                                                                                                                                                                                                                                                                                                   |
++----------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`RID<class_rid>`                  | :ref:`get_canvas_item<class_CanvasItem_get_canvas_item>`  **(** **)** const                                                                                                                                                                                                                                                                                                         |
++----------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Transform2D<class_transform2d>`  | :ref:`get_canvas_transform<class_CanvasItem_get_canvas_transform>`  **(** **)** const                                                                                                                                                                                                                                                                                               |
++----------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Vector2<class_vector2>`          | :ref:`get_global_mouse_position<class_CanvasItem_get_global_mouse_position>`  **(** **)** const                                                                                                                                                                                                                                                                                     |
++----------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Transform2D<class_transform2d>`  | :ref:`get_global_transform<class_CanvasItem_get_global_transform>`  **(** **)** const                                                                                                                                                                                                                                                                                               |
++----------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Transform2D<class_transform2d>`  | :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                                                                                                                                                                                                                                                                                                           |
++----------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Vector2<class_vector2>`          | :ref:`get_local_mouse_pos<class_CanvasItem_get_local_mouse_pos>`  **(** **)** const                                                                                                                                                                                                                                                                                                 |
++----------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Material<class_material>`        | :ref:`get_material<class_CanvasItem_get_material>`  **(** **)** const                                                                                                                                                                                                                                                                                                               |
++----------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Color<class_color>`              | :ref:`get_modulate<class_CanvasItem_get_modulate>`  **(** **)** const                                                                                                                                                                                                                                                                                                               |
++----------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Color<class_color>`              | :ref:`get_self_modulate<class_CanvasItem_get_self_modulate>`  **(** **)** const                                                                                                                                                                                                                                                                                                     |
++----------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Transform2D<class_transform2d>`  | :ref:`get_transform<class_CanvasItem_get_transform>`  **(** **)** const                                                                                                                                                                                                                                                                                                             |
++----------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                | :ref:`get_use_parent_material<class_CanvasItem_get_use_parent_material>`  **(** **)** const                                                                                                                                                                                                                                                                                         |
++----------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Rect2<class_rect2>`              | :ref:`get_viewport_rect<class_CanvasItem_get_viewport_rect>`  **(** **)** const                                                                                                                                                                                                                                                                                                     |
++----------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Transform2D<class_transform2d>`  | :ref:`get_viewport_transform<class_CanvasItem_get_viewport_transform>`  **(** **)** const                                                                                                                                                                                                                                                                                           |
++----------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Object<class_object>`            | :ref:`get_world_2d<class_CanvasItem_get_world_2d>`  **(** **)** const                                                                                                                                                                                                                                                                                                               |
++----------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                   | :ref:`hide<class_CanvasItem_hide>`  **(** **)**                                                                                                                                                                                                                                                                                                                                     |
++----------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                | :ref:`is_draw_behind_parent_enabled<class_CanvasItem_is_draw_behind_parent_enabled>`  **(** **)** const                                                                                                                                                                                                                                                                             |
++----------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                | :ref:`is_local_transform_notification_enabled<class_CanvasItem_is_local_transform_notification_enabled>`  **(** **)** const                                                                                                                                                                                                                                                         |
++----------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                | :ref:`is_set_as_toplevel<class_CanvasItem_is_set_as_toplevel>`  **(** **)** const                                                                                                                                                                                                                                                                                                   |
++----------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                | :ref:`is_transform_notification_enabled<class_CanvasItem_is_transform_notification_enabled>`  **(** **)** const                                                                                                                                                                                                                                                                     |
++----------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                | :ref:`is_visible<class_CanvasItem_is_visible>`  **(** **)** const                                                                                                                                                                                                                                                                                                                   |
++----------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                | :ref:`is_visible_in_tree<class_CanvasItem_is_visible_in_tree>`  **(** **)** const                                                                                                                                                                                                                                                                                                   |
++----------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Vector2<class_vector2>`          | :ref:`make_canvas_pos_local<class_CanvasItem_make_canvas_pos_local>`  **(** :ref:`Vector2<class_vector2>` screen_point  **)** const                                                                                                                                                                                                                                                 |
++----------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Object<class_object>`            | :ref:`make_input_local<class_CanvasItem_make_input_local>`  **(** :ref:`Object<class_object>` event  **)** const                                                                                                                                                                                                                                                                    |
++----------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                   | :ref:`set_as_toplevel<class_CanvasItem_set_as_toplevel>`  **(** :ref:`bool<class_bool>` enable  **)**                                                                                                                                                                                                                                                                               |
++----------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                   | :ref:`set_draw_behind_parent<class_CanvasItem_set_draw_behind_parent>`  **(** :ref:`bool<class_bool>` enable  **)**                                                                                                                                                                                                                                                                 |
++----------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                   | :ref:`set_light_mask<class_CanvasItem_set_light_mask>`  **(** :ref:`int<class_int>` light_mask  **)**                                                                                                                                                                                                                                                                               |
++----------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                   | :ref:`set_material<class_CanvasItem_set_material>`  **(** :ref:`Material<class_material>` material  **)**                                                                                                                                                                                                                                                                           |
++----------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                   | :ref:`set_modulate<class_CanvasItem_set_modulate>`  **(** :ref:`Color<class_color>` modulate  **)**                                                                                                                                                                                                                                                                                 |
++----------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                   | :ref:`set_notify_local_transform<class_CanvasItem_set_notify_local_transform>`  **(** :ref:`bool<class_bool>` enable  **)**                                                                                                                                                                                                                                                         |
++----------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                   | :ref:`set_notify_transform<class_CanvasItem_set_notify_transform>`  **(** :ref:`bool<class_bool>` enable  **)**                                                                                                                                                                                                                                                                     |
++----------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                   | :ref:`set_self_modulate<class_CanvasItem_set_self_modulate>`  **(** :ref:`Color<class_color>` self_modulate  **)**                                                                                                                                                                                                                                                                  |
++----------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                   | :ref:`set_use_parent_material<class_CanvasItem_set_use_parent_material>`  **(** :ref:`bool<class_bool>` enable  **)**                                                                                                                                                                                                                                                               |
++----------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                   | :ref:`set_visible<class_CanvasItem_set_visible>`  **(** :ref:`bool<class_bool>` arg0  **)**                                                                                                                                                                                                                                                                                         |
++----------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                   | :ref:`show<class_CanvasItem_show>`  **(** **)**                                                                                                                                                                                                                                                                                                                                     |
++----------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                   | :ref:`update<class_CanvasItem_update>`  **(** **)**                                                                                                                                                                                                                                                                                                                                 |
++----------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 
 
 Signals
 Signals
 -------
 -------
@@ -158,7 +162,7 @@ Member Variables
 ----------------
 ----------------
 
 
 - :ref:`int<class_int>` **light_mask**
 - :ref:`int<class_int>` **light_mask**
-- :ref:`ShaderMaterial<class_shadermaterial>` **material**
+- ShaderMaterial,CanvasItemMaterial **material**
 - :ref:`Color<class_color>` **modulate**
 - :ref:`Color<class_color>` **modulate**
 - :ref:`Color<class_color>` **self_modulate**
 - :ref:`Color<class_color>` **self_modulate**
 - :ref:`bool<class_bool>` **show_behind_parent**
 - :ref:`bool<class_bool>` **show_behind_parent**
@@ -216,7 +220,7 @@ Draw a colored circle.
 
 
 .. _class_CanvasItem_draw_colored_polygon:
 .. _class_CanvasItem_draw_colored_polygon:
 
 
-- void  **draw_colored_polygon**  **(** :ref:`PoolVector2Array<class_poolvector2array>` points, :ref:`Color<class_color>` color, :ref:`PoolVector2Array<class_poolvector2array>` uvs=PoolVector2Array([]), :ref:`Texture<class_texture>` texture=NULL  **)**
+- void  **draw_colored_polygon**  **(** :ref:`PoolVector2Array<class_poolvector2array>` points, :ref:`Color<class_color>` color, :ref:`PoolVector2Array<class_poolvector2array>` uvs=PoolVector2Array([]), :ref:`Texture<class_texture>` texture=NULL, :ref:`Texture<class_texture>` normal_map=NULL  **)**
 
 
 Draw a colored polygon of any amount of points, convex or concave.
 Draw a colored polygon of any amount of points, convex or concave.
 
 
@@ -228,19 +232,27 @@ Draw a line from a 2D point to another, with a given color and width. It can be
 
 
 .. _class_CanvasItem_draw_polygon:
 .. _class_CanvasItem_draw_polygon:
 
 
-- void  **draw_polygon**  **(** :ref:`PoolVector2Array<class_poolvector2array>` points, :ref:`PoolColorArray<class_poolcolorarray>` colors, :ref:`PoolVector2Array<class_poolvector2array>` uvs=PoolVector2Array([]), :ref:`Texture<class_texture>` texture=NULL  **)**
+- void  **draw_polygon**  **(** :ref:`PoolVector2Array<class_poolvector2array>` points, :ref:`PoolColorArray<class_poolcolorarray>` colors, :ref:`PoolVector2Array<class_poolvector2array>` uvs=PoolVector2Array([]), :ref:`Texture<class_texture>` texture=NULL, :ref:`Texture<class_texture>` normal_map=NULL  **)**
 
 
 Draw a polygon of any amount of points, convex or concave.
 Draw a polygon of any amount of points, convex or concave.
 
 
+.. _class_CanvasItem_draw_polyline:
+
+- void  **draw_polyline**  **(** :ref:`PoolVector2Array<class_poolvector2array>` points, :ref:`Color<class_color>` color, :ref:`float<class_float>` width=1, :ref:`bool<class_bool>` antialiased=false  **)**
+
+.. _class_CanvasItem_draw_polyline_colors:
+
+- void  **draw_polyline_colors**  **(** :ref:`PoolVector2Array<class_poolvector2array>` points, :ref:`PoolColorArray<class_poolcolorarray>` colors, :ref:`float<class_float>` width=1, :ref:`bool<class_bool>` antialiased=false  **)**
+
 .. _class_CanvasItem_draw_primitive:
 .. _class_CanvasItem_draw_primitive:
 
 
-- void  **draw_primitive**  **(** :ref:`PoolVector2Array<class_poolvector2array>` points, :ref:`PoolColorArray<class_poolcolorarray>` colors, :ref:`PoolVector2Array<class_poolvector2array>` uvs, :ref:`Texture<class_texture>` texture=NULL, :ref:`float<class_float>` width=1  **)**
+- void  **draw_primitive**  **(** :ref:`PoolVector2Array<class_poolvector2array>` points, :ref:`PoolColorArray<class_poolcolorarray>` colors, :ref:`PoolVector2Array<class_poolvector2array>` uvs, :ref:`Texture<class_texture>` texture=NULL, :ref:`float<class_float>` width=1, :ref:`Texture<class_texture>` normal_map=NULL  **)**
 
 
 Draw a custom primitive, 1 point for a point, 2 points for a line, 3 points for a triangle and 4 points for a quad.
 Draw a custom primitive, 1 point for a point, 2 points for a line, 3 points for a triangle and 4 points for a quad.
 
 
 .. _class_CanvasItem_draw_rect:
 .. _class_CanvasItem_draw_rect:
 
 
-- void  **draw_rect**  **(** :ref:`Rect2<class_rect2>` rect, :ref:`Color<class_color>` color  **)**
+- void  **draw_rect**  **(** :ref:`Rect2<class_rect2>` rect, :ref:`Color<class_color>` color, :ref:`bool<class_bool>` filled=true  **)**
 
 
 Draw a colored rectangle.
 Draw a colored rectangle.
 
 
@@ -268,19 +280,19 @@ Draw a styled rectangle.
 
 
 .. _class_CanvasItem_draw_texture:
 .. _class_CanvasItem_draw_texture:
 
 
-- void  **draw_texture**  **(** :ref:`Texture<class_texture>` texture, :ref:`Vector2<class_vector2>` pos, :ref:`Color<class_color>` modulate=Color(1,1,1,1)  **)**
+- void  **draw_texture**  **(** :ref:`Texture<class_texture>` texture, :ref:`Vector2<class_vector2>` pos, :ref:`Color<class_color>` modulate=Color(1,1,1,1), :ref:`Texture<class_texture>` normal_map=NULL  **)**
 
 
 Draw a texture at a given position.
 Draw a texture at a given position.
 
 
 .. _class_CanvasItem_draw_texture_rect:
 .. _class_CanvasItem_draw_texture_rect:
 
 
-- void  **draw_texture_rect**  **(** :ref:`Texture<class_texture>` texture, :ref:`Rect2<class_rect2>` rect, :ref:`bool<class_bool>` tile, :ref:`Color<class_color>` modulate=Color(1,1,1,1), :ref:`bool<class_bool>` transpose=false  **)**
+- void  **draw_texture_rect**  **(** :ref:`Texture<class_texture>` texture, :ref:`Rect2<class_rect2>` rect, :ref:`bool<class_bool>` tile, :ref:`Color<class_color>` modulate=Color(1,1,1,1), :ref:`bool<class_bool>` transpose=false, :ref:`Texture<class_texture>` normal_map=NULL  **)**
 
 
 Draw a textured rectangle at a given position, optionally modulated by a color. Transpose swaps the x and y coordinates when reading the texture.
 Draw a textured rectangle at a given position, optionally modulated by a color. Transpose swaps the x and y coordinates when reading the texture.
 
 
 .. _class_CanvasItem_draw_texture_rect_region:
 .. _class_CanvasItem_draw_texture_rect_region:
 
 
-- void  **draw_texture_rect_region**  **(** :ref:`Texture<class_texture>` texture, :ref:`Rect2<class_rect2>` rect, :ref:`Rect2<class_rect2>` src_rect, :ref:`Color<class_color>` modulate=Color(1,1,1,1), :ref:`bool<class_bool>` transpose=false  **)**
+- void  **draw_texture_rect_region**  **(** :ref:`Texture<class_texture>` texture, :ref:`Rect2<class_rect2>` rect, :ref:`Rect2<class_rect2>` src_rect, :ref:`Color<class_color>` modulate=Color(1,1,1,1), :ref:`bool<class_bool>` transpose=false, :ref:`Texture<class_texture>` normal_map=NULL, :ref:`bool<class_bool>` clip_uv=true  **)**
 
 
 Draw a textured rectangle region at a given position, optionally modulated by a color. Transpose swaps the x and y coordinates when reading the texture.
 Draw a textured rectangle region at a given position, optionally modulated by a color. Transpose swaps the x and y coordinates when reading the texture.
 
 
@@ -368,7 +380,7 @@ Get the mouse position relative to this item's position.
 
 
 .. _class_CanvasItem_get_material:
 .. _class_CanvasItem_get_material:
 
 
-- :ref:`ShaderMaterial<class_shadermaterial>`  **get_material**  **(** **)** const
+- :ref:`Material<class_material>`  **get_material**  **(** **)** const
 
 
 Get the material of this item.
 Get the material of this item.
 
 
@@ -478,7 +490,7 @@ Set the ligtht mask number of this item.
 
 
 .. _class_CanvasItem_set_material:
 .. _class_CanvasItem_set_material:
 
 
-- void  **set_material**  **(** :ref:`ShaderMaterial<class_shadermaterial>` material  **)**
+- void  **set_material**  **(** :ref:`Material<class_material>` material  **)**
 
 
 Set the material of this item.
 Set the material of this item.
 
 

+ 68 - 0
classes/class_canvasitemmaterial.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_CanvasItemMaterial:
+
+CanvasItemMaterial
+==================
+
+**Inherits:** :ref:`Material<class_material>` **<** :ref:`Resource<class_resource>` **<** :ref:`Reference<class_reference>` **<** :ref:`Object<class_object>`
+
+**Category:** Core
+
+Brief Description
+-----------------
+
+
+
+Member Functions
+----------------
+
++------------------------+---------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`  | :ref:`get_blend_mode<class_CanvasItemMaterial_get_blend_mode>`  **(** **)** const                             |
++------------------------+---------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`  | :ref:`get_light_mode<class_CanvasItemMaterial_get_light_mode>`  **(** **)** const                             |
++------------------------+---------------------------------------------------------------------------------------------------------------+
+| void                   | :ref:`set_blend_mode<class_CanvasItemMaterial_set_blend_mode>`  **(** :ref:`int<class_int>` blend_mode  **)** |
++------------------------+---------------------------------------------------------------------------------------------------------------+
+| void                   | :ref:`set_light_mode<class_CanvasItemMaterial_set_light_mode>`  **(** :ref:`int<class_int>` light_mode  **)** |
++------------------------+---------------------------------------------------------------------------------------------------------------+
+
+Member Variables
+----------------
+
+- :ref:`int<class_int>` **blend_mode**
+- :ref:`int<class_int>` **light_mode**
+
+Numeric Constants
+-----------------
+
+- **BLEND_MODE_MIX** = **0**
+- **BLEND_MODE_ADD** = **1**
+- **BLEND_MODE_SUB** = **2**
+- **BLEND_MODE_MUL** = **3**
+- **BLEND_MODE_PREMULT_ALPHA** = **4**
+- **LIGHT_MODE_NORMAL** = **0**
+- **LIGHT_MODE_UNSHADED** = **1**
+- **LIGHT_MODE_LIGHT_ONLY** = **2**
+
+Member Function Description
+---------------------------
+
+.. _class_CanvasItemMaterial_get_blend_mode:
+
+- :ref:`int<class_int>`  **get_blend_mode**  **(** **)** const
+
+.. _class_CanvasItemMaterial_get_light_mode:
+
+- :ref:`int<class_int>`  **get_light_mode**  **(** **)** const
+
+.. _class_CanvasItemMaterial_set_blend_mode:
+
+- void  **set_blend_mode**  **(** :ref:`int<class_int>` blend_mode  **)**
+
+.. _class_CanvasItemMaterial_set_light_mode:
+
+- void  **set_light_mode**  **(** :ref:`int<class_int>` light_mode  **)**
+
+

+ 41 - 45
classes/class_collisionobject.rst

@@ -23,36 +23,30 @@ Member Functions
 +------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                               | :ref:`_input_event<class_CollisionObject__input_event>`  **(** :ref:`Object<class_object>` camera, :ref:`InputEvent<class_inputevent>` event, :ref:`Vector3<class_vector3>` click_pos, :ref:`Vector3<class_vector3>` click_normal, :ref:`int<class_int>` shape_idx  **)** virtual |
 | void                               | :ref:`_input_event<class_CollisionObject__input_event>`  **(** :ref:`Object<class_object>` camera, :ref:`InputEvent<class_inputevent>` event, :ref:`Vector3<class_vector3>` click_pos, :ref:`Vector3<class_vector3>` click_normal, :ref:`int<class_int>` shape_idx  **)** virtual |
 +------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                               | :ref:`add_shape<class_CollisionObject_add_shape>`  **(** :ref:`Shape<class_shape>` shape, :ref:`Transform<class_transform>` transform=Transform()  **)**                                                                                                                          |
-+------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                               | :ref:`clear_shapes<class_CollisionObject_clear_shapes>`  **(** **)**                                                                                                                                                                                                              |
-+------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`bool<class_bool>`            | :ref:`get_capture_input_on_drag<class_CollisionObject_get_capture_input_on_drag>`  **(** **)** const                                                                                                                                                                              |
 | :ref:`bool<class_bool>`            | :ref:`get_capture_input_on_drag<class_CollisionObject_get_capture_input_on_drag>`  **(** **)** const                                                                                                                                                                              |
 +------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`              | :ref:`create_shape_owner<class_CollisionObject_create_shape_owner>`  **(** :ref:`Object<class_object>` owner  **)**                                                                                                                                                               |
++------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`RID<class_rid>`              | :ref:`get_rid<class_CollisionObject_get_rid>`  **(** **)** const                                                                                                                                                                                                                  |
 | :ref:`RID<class_rid>`              | :ref:`get_rid<class_CollisionObject_get_rid>`  **(** **)** const                                                                                                                                                                                                                  |
 +------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Shape<class_shape>`          | :ref:`get_shape<class_CollisionObject_get_shape>`  **(** :ref:`int<class_int>` shape_idx  **)** const                                                                                                                                                                             |
+| :ref:`Array<class_array>`          | :ref:`get_shape_owners<class_CollisionObject_get_shape_owners>`  **(** **)**                                                                                                                                                                                                      |
 +------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`              | :ref:`get_shape_count<class_CollisionObject_get_shape_count>`  **(** **)** const                                                                                                                                                                                                  |
+| void                               | :ref:`shape_owner_clear_shapes<class_CollisionObject_shape_owner_clear_shapes>`  **(** :ref:`int<class_int>` owner_id  **)**                                                                                                                                                      |
 +------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Transform<class_transform>`  | :ref:`get_shape_transform<class_CollisionObject_get_shape_transform>`  **(** :ref:`int<class_int>` shape_idx  **)** const                                                                                                                                                         |
+| :ref:`Shape<class_shape>`          | :ref:`shape_owner_get_shape<class_CollisionObject_shape_owner_get_shape>`  **(** :ref:`int<class_int>` owner_id, :ref:`int<class_int>` shape_id  **)**                                                                                                                            |
 +------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`            | :ref:`is_ray_pickable<class_CollisionObject_is_ray_pickable>`  **(** **)** const                                                                                                                                                                                                  |
+| :ref:`int<class_int>`              | :ref:`shape_owner_get_shape_count<class_CollisionObject_shape_owner_get_shape_count>`  **(** :ref:`int<class_int>` owner_id  **)**                                                                                                                                                |
 +------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`            | :ref:`is_shape_set_as_trigger<class_CollisionObject_is_shape_set_as_trigger>`  **(** :ref:`int<class_int>` shape_idx  **)** const                                                                                                                                                 |
+| :ref:`Transform<class_transform>`  | :ref:`shape_owner_get_transform<class_CollisionObject_shape_owner_get_transform>`  **(** :ref:`int<class_int>` owner_id  **)**                                                                                                                                                    |
 +------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                               | :ref:`remove_shape<class_CollisionObject_remove_shape>`  **(** :ref:`int<class_int>` shape_idx  **)**                                                                                                                                                                             |
+| void                               | :ref:`shape_owner_remove_shape<class_CollisionObject_shape_owner_remove_shape>`  **(** :ref:`int<class_int>` owner_id, :ref:`int<class_int>` shape_id  **)**                                                                                                                      |
++------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`            | :ref:`is_ray_pickable<class_CollisionObject_is_ray_pickable>`  **(** **)** const                                                                                                                                                                                                  |
 +------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                               | :ref:`set_capture_input_on_drag<class_CollisionObject_set_capture_input_on_drag>`  **(** :ref:`bool<class_bool>` enable  **)**                                                                                                                                                    |
 | void                               | :ref:`set_capture_input_on_drag<class_CollisionObject_set_capture_input_on_drag>`  **(** :ref:`bool<class_bool>` enable  **)**                                                                                                                                                    |
 +------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                               | :ref:`set_ray_pickable<class_CollisionObject_set_ray_pickable>`  **(** :ref:`bool<class_bool>` ray_pickable  **)**                                                                                                                                                                |
 | void                               | :ref:`set_ray_pickable<class_CollisionObject_set_ray_pickable>`  **(** :ref:`bool<class_bool>` ray_pickable  **)**                                                                                                                                                                |
 +------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                               | :ref:`set_shape<class_CollisionObject_set_shape>`  **(** :ref:`int<class_int>` shape_idx, :ref:`Shape<class_shape>` shape  **)**                                                                                                                                                  |
-+------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                               | :ref:`set_shape_as_trigger<class_CollisionObject_set_shape_as_trigger>`  **(** :ref:`int<class_int>` shape_idx, :ref:`bool<class_bool>` enable  **)**                                                                                                                             |
-+------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                               | :ref:`set_shape_transform<class_CollisionObject_set_shape_transform>`  **(** :ref:`int<class_int>` shape_idx, :ref:`Transform<class_transform>` transform  **)**                                                                                                                  |
-+------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 
 
 Signals
 Signals
 -------
 -------
@@ -74,64 +68,66 @@ Member Function Description
 
 
 - void  **_input_event**  **(** :ref:`Object<class_object>` camera, :ref:`InputEvent<class_inputevent>` event, :ref:`Vector3<class_vector3>` click_pos, :ref:`Vector3<class_vector3>` click_normal, :ref:`int<class_int>` shape_idx  **)** virtual
 - void  **_input_event**  **(** :ref:`Object<class_object>` camera, :ref:`InputEvent<class_inputevent>` event, :ref:`Vector3<class_vector3>` click_pos, :ref:`Vector3<class_vector3>` click_normal, :ref:`int<class_int>` shape_idx  **)** virtual
 
 
-.. _class_CollisionObject_add_shape:
-
-- void  **add_shape**  **(** :ref:`Shape<class_shape>` shape, :ref:`Transform<class_transform>` transform=Transform()  **)**
+.. _class_CollisionObject_get_capture_input_on_drag:
 
 
-.. _class_CollisionObject_clear_shapes:
+- :ref:`bool<class_bool>`  **get_capture_input_on_drag**  **(** **)** const
 
 
-- void  **clear_shapes**  **(** **)**
+.. _class_CollisionObject_create_shape_owner:
 
 
-.. _class_CollisionObject_get_capture_input_on_drag:
+- :ref:`int<class_int>`  **create_shape_owner**  **(** :ref:`Object<class_object>` owner  **)**
 
 
-- :ref:`bool<class_bool>`  **get_capture_input_on_drag**  **(** **)** const
+Creates new holder for the shapes. Argument is a :ref:`CollisionShape<class_collisionshape>` node. It will return owner_id which usually you will want to save for later use.
 
 
 .. _class_CollisionObject_get_rid:
 .. _class_CollisionObject_get_rid:
 
 
 - :ref:`RID<class_rid>`  **get_rid**  **(** **)** const
 - :ref:`RID<class_rid>`  **get_rid**  **(** **)** const
 
 
-.. _class_CollisionObject_get_shape:
+.. _class_CollisionObject_get_shape_owners:
 
 
-- :ref:`Shape<class_shape>`  **get_shape**  **(** :ref:`int<class_int>` shape_idx  **)** const
+- :ref:`Array<class_array>`  **get_shape_owners**  **(** **)**
 
 
-.. _class_CollisionObject_get_shape_count:
+Shape owner is a node which is holding concrete shape resources. This method will return an array which is holding an integer numbers that are representing unique ID of each owner. You can use those ids when you are using others shape_owner methods.
 
 
-- :ref:`int<class_int>`  **get_shape_count**  **(** **)** const
+.. _class_CollisionObject_shape_owner_clear_shapes:
 
 
-.. _class_CollisionObject_get_shape_transform:
+- void  **shape_owner_clear_shapes**  **(** :ref:`int<class_int>` owner_id  **)**
 
 
-- :ref:`Transform<class_transform>`  **get_shape_transform**  **(** :ref:`int<class_int>` shape_idx  **)** const
+Will remove all the shapes associated with given owner.
 
 
-.. _class_CollisionObject_is_ray_pickable:
+.. _class_CollisionObject_shape_owner_get_shape:
 
 
-- :ref:`bool<class_bool>`  **is_ray_pickable**  **(** **)** const
+- :ref:`Shape<class_shape>`  **shape_owner_get_shape**  **(** :ref:`int<class_int>` owner_id, :ref:`int<class_int>` shape_id  **)**
 
 
-.. _class_CollisionObject_is_shape_set_as_trigger:
+Will return a :ref:`Shape<class_shape>`. First argument owner_id is an integer that can be obtained from :ref:`get_shape_owners<class_CollisionObject_get_shape_owners>`. Shape_id is a position of the shape inside owner; it's a value in range from 0 to :ref:`shape_owner_get_shape_count<class_CollisionObject_shape_owner_get_shape_count>`.
 
 
-- :ref:`bool<class_bool>`  **is_shape_set_as_trigger**  **(** :ref:`int<class_int>` shape_idx  **)** const
+.. _class_CollisionObject_shape_owner_get_shape_count:
 
 
-.. _class_CollisionObject_remove_shape:
+- :ref:`int<class_int>`  **shape_owner_get_shape_count**  **(** :ref:`int<class_int>` owner_id  **)**
 
 
-- void  **remove_shape**  **(** :ref:`int<class_int>` shape_idx  **)**
+Returns number of shapes to which given owner is associated to.
 
 
-.. _class_CollisionObject_set_capture_input_on_drag:
+.. _class_CollisionObject_shape_owner_get_transform:
 
 
-- void  **set_capture_input_on_drag**  **(** :ref:`bool<class_bool>` enable  **)**
+- :ref:`Transform<class_transform>`  **shape_owner_get_transform**  **(** :ref:`int<class_int>` owner_id  **)**
 
 
-.. _class_CollisionObject_set_ray_pickable:
+Will return :ref:`Transform<class_transform>` of an owner node.
 
 
-- void  **set_ray_pickable**  **(** :ref:`bool<class_bool>` ray_pickable  **)**
+.. _class_CollisionObject_shape_owner_remove_shape:
+
+- void  **shape_owner_remove_shape**  **(** :ref:`int<class_int>` owner_id, :ref:`int<class_int>` shape_id  **)**
 
 
-.. _class_CollisionObject_set_shape:
+Removes related shape from the owner.
 
 
-- void  **set_shape**  **(** :ref:`int<class_int>` shape_idx, :ref:`Shape<class_shape>` shape  **)**
+.. _class_CollisionObject_is_ray_pickable:
 
 
-.. _class_CollisionObject_set_shape_as_trigger:
+- :ref:`bool<class_bool>`  **is_ray_pickable**  **(** **)** const
 
 
-- void  **set_shape_as_trigger**  **(** :ref:`int<class_int>` shape_idx, :ref:`bool<class_bool>` enable  **)**
+.. _class_CollisionObject_set_capture_input_on_drag:
 
 
-.. _class_CollisionObject_set_shape_transform:
+- void  **set_capture_input_on_drag**  **(** :ref:`bool<class_bool>` enable  **)**
 
 
-- void  **set_shape_transform**  **(** :ref:`int<class_int>` shape_idx, :ref:`Transform<class_transform>` transform  **)**
+.. _class_CollisionObject_set_ray_pickable:
+
+- void  **set_ray_pickable**  **(** :ref:`bool<class_bool>` ray_pickable  **)**
 
 
 
 

+ 36 - 60
classes/class_collisionobject2d.rst

@@ -23,31 +23,25 @@ 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:`_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:`Transform2D<class_transform2d>` transform=((1, 0), (0, 1), (0, 0))  **)**                  |
-+----------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                   | :ref:`clear_shapes<class_CollisionObject2D_clear_shapes>`  **(** **)**                                                                                                                           |
+| :ref:`int<class_int>`                  | :ref:`create_shape_owner<class_CollisionObject2D_create_shape_owner>`  **(** :ref:`Object<class_object>` owner  **)**                                                                            |
 +----------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +----------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`RID<class_rid>`                  | :ref:`get_rid<class_CollisionObject2D_get_rid>`  **(** **)** const                                                                                                                               |
 | :ref:`RID<class_rid>`                  | :ref:`get_rid<class_CollisionObject2D_get_rid>`  **(** **)** const                                                                                                                               |
 +----------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +----------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Shape2D<class_shape2d>`          | :ref:`get_shape<class_CollisionObject2D_get_shape>`  **(** :ref:`int<class_int>` shape_idx  **)** const                                                                                          |
-+----------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                  | :ref:`get_shape_count<class_CollisionObject2D_get_shape_count>`  **(** **)** const                                                                                                               |
+| :ref:`Array<class_array>`              | :ref:`get_shape_owners<class_CollisionObject2D_get_shape_owners>`  **(** **)**                                                                                                                   |
 +----------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +----------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Transform2D<class_transform2d>`  | :ref:`get_shape_transform<class_CollisionObject2D_get_shape_transform>`  **(** :ref:`int<class_int>` shape_idx  **)** const                                                                      |
+| void                                   | :ref:`shape_owner_clear_shapes<class_CollisionObject2D_shape_owner_clear_shapes>`  **(** :ref:`int<class_int>` owner_id  **)**                                                                   |
 +----------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +----------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                | :ref:`is_pickable<class_CollisionObject2D_is_pickable>`  **(** **)** const                                                                                                                       |
+| :ref:`Shape2D<class_shape2d>`          | :ref:`shape_owner_get_shape<class_CollisionObject2D_shape_owner_get_shape>`  **(** :ref:`int<class_int>` owner_id, :ref:`int<class_int>` shape_id  **)**                                         |
 +----------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +----------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                | :ref:`is_shape_set_as_trigger<class_CollisionObject2D_is_shape_set_as_trigger>`  **(** :ref:`int<class_int>` shape_idx  **)** const                                                              |
+| :ref:`int<class_int>`                  | :ref:`shape_owner_get_shape_count<class_CollisionObject2D_shape_owner_get_shape_count>`  **(** :ref:`int<class_int>` owner_id  **)**                                                             |
 +----------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +----------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                   | :ref:`remove_shape<class_CollisionObject2D_remove_shape>`  **(** :ref:`int<class_int>` shape_idx  **)**                                                                                          |
+| :ref:`Transform2D<class_transform2d>`  | :ref:`shape_owner_get_transform<class_CollisionObject2D_shape_owner_get_transform>`  **(** :ref:`int<class_int>` owner_id  **)**                                                                 |
 +----------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +----------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                   | :ref:`set_pickable<class_CollisionObject2D_set_pickable>`  **(** :ref:`bool<class_bool>` enabled  **)**                                                                                          |
+| void                                   | :ref:`shape_owner_remove_shape<class_CollisionObject2D_shape_owner_remove_shape>`  **(** :ref:`int<class_int>` owner_id, :ref:`int<class_int>` shape_id  **)**                                   |
 +----------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +----------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                   | :ref:`set_shape<class_CollisionObject2D_set_shape>`  **(** :ref:`int<class_int>` shape_idx, :ref:`Shape<class_shape>` shape  **)**                                                               |
-+----------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                   | :ref:`set_shape_as_trigger<class_CollisionObject2D_set_shape_as_trigger>`  **(** :ref:`int<class_int>` shape_idx, :ref:`bool<class_bool>` enable  **)**                                          |
+| :ref:`bool<class_bool>`                | :ref:`is_pickable<class_CollisionObject2D_is_pickable>`  **(** **)** const                                                                                                                       |
 +----------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +----------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                   | :ref:`set_shape_transform<class_CollisionObject2D_set_shape_transform>`  **(** :ref:`int<class_int>` shape_idx, :ref:`Transform2D<class_transform2d>` transform  **)**                           |
+| void                                   | :ref:`set_pickable<class_CollisionObject2D_set_pickable>`  **(** :ref:`bool<class_bool>` enabled  **)**                                                                                          |
 +----------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +----------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 
 
 Signals
 Signals
@@ -78,17 +72,11 @@ Member Function Description
 
 
 - void  **_input_event**  **(** :ref:`Object<class_object>` viewport, :ref:`InputEvent<class_inputevent>` event, :ref:`int<class_int>` shape_idx  **)** virtual
 - void  **_input_event**  **(** :ref:`Object<class_object>` viewport, :ref:`InputEvent<class_inputevent>` event, :ref:`int<class_int>` shape_idx  **)** virtual
 
 
-.. _class_CollisionObject2D_add_shape:
+.. _class_CollisionObject2D_create_shape_owner:
 
 
-- void  **add_shape**  **(** :ref:`Shape2D<class_shape2d>` shape, :ref:`Transform2D<class_transform2d>` transform=((1, 0), (0, 1), (0, 0))  **)**
+- :ref:`int<class_int>`  **create_shape_owner**  **(** :ref:`Object<class_object>` owner  **)**
 
 
-Add a :ref:`Shape2D<class_shape2d>` to the collision body, with a given custom transform.
-
-.. _class_CollisionObject2D_clear_shapes:
-
-- void  **clear_shapes**  **(** **)**
-
-Remove all shapes.
+Creates new holder for the shapes. Argument is a :ref:`CollisionShape2D<class_collisionshape2d>` node. It will return owner_id which usually you will want to save for later use.
 
 
 .. _class_CollisionObject2D_get_rid:
 .. _class_CollisionObject2D_get_rid:
 
 
@@ -96,64 +84,52 @@ Remove all shapes.
 
 
 Return the RID of this object.
 Return the RID of this object.
 
 
-.. _class_CollisionObject2D_get_shape:
-
-- :ref:`Shape2D<class_shape2d>`  **get_shape**  **(** :ref:`int<class_int>` shape_idx  **)** const
-
-Return the shape in the given index.
-
-.. _class_CollisionObject2D_get_shape_count:
-
-- :ref:`int<class_int>`  **get_shape_count**  **(** **)** const
+.. _class_CollisionObject2D_get_shape_owners:
 
 
-Return the amount of shapes in the collision body. Because a :ref:`CollisionPolygon2D<class_collisionpolygon2d>` can generate more than one :ref:`Shape2D<class_shape2d>`, the amount returned does not have to match the sum of :ref:`CollisionShape2D<class_collisionshape2d>` and :ref:`CollisionPolygon2D<class_collisionpolygon2d>`.
+- :ref:`Array<class_array>`  **get_shape_owners**  **(** **)**
 
 
-.. _class_CollisionObject2D_get_shape_transform:
+Shape owner is a node which is holding concrete shape resources. This method will return an array which is holding an integer numbers that are representing unique ID of each owner. You can use those ids when you are using others shape_owner methods.
 
 
-- :ref:`Transform2D<class_transform2d>`  **get_shape_transform**  **(** :ref:`int<class_int>` shape_idx  **)** const
+.. _class_CollisionObject2D_shape_owner_clear_shapes:
 
 
-Return the shape transform in the given index.
+- void  **shape_owner_clear_shapes**  **(** :ref:`int<class_int>` owner_id  **)**
 
 
-.. _class_CollisionObject2D_is_pickable:
-
-- :ref:`bool<class_bool>`  **is_pickable**  **(** **)** const
+Will remove all the shapes associated with given owner.
 
 
-Return whether this object is pickable.
+.. _class_CollisionObject2D_shape_owner_get_shape:
 
 
-.. _class_CollisionObject2D_is_shape_set_as_trigger:
+- :ref:`Shape2D<class_shape2d>`  **shape_owner_get_shape**  **(** :ref:`int<class_int>` owner_id, :ref:`int<class_int>` shape_id  **)**
 
 
-- :ref:`bool<class_bool>`  **is_shape_set_as_trigger**  **(** :ref:`int<class_int>` shape_idx  **)** const
+Will return a :ref:`Shape2D<class_shape2d>`. First argument owner_id is an integer that can be obtained from :ref:`get_shape_owners<class_CollisionObject2D_get_shape_owners>`. Shape_id is a position of the shape inside owner; it's a value in range from 0 to :ref:`shape_owner_get_shape_count<class_CollisionObject2D_shape_owner_get_shape_count>`.
 
 
-Return whether a shape is a trigger. A trigger shape detects collisions, but is otherwise unaffected by physics (i.e. colliding objects will not get blocked).
+.. _class_CollisionObject2D_shape_owner_get_shape_count:
 
 
-.. _class_CollisionObject2D_remove_shape:
+- :ref:`int<class_int>`  **shape_owner_get_shape_count**  **(** :ref:`int<class_int>` owner_id  **)**
 
 
-- void  **remove_shape**  **(** :ref:`int<class_int>` shape_idx  **)**
+Returns number of shapes to which given owner is associated to.
 
 
-Remove the shape in the given index.
+.. _class_CollisionObject2D_shape_owner_get_transform:
 
 
-.. _class_CollisionObject2D_set_pickable:
-
-- void  **set_pickable**  **(** :ref:`bool<class_bool>` enabled  **)**
+- :ref:`Transform2D<class_transform2d>`  **shape_owner_get_transform**  **(** :ref:`int<class_int>` owner_id  **)**
 
 
-Set whether this object is pickable. A pickable object can detect the mouse pointer enter/leave it and, if the mouse is inside it, report input events.
+Will return :ref:`Transform2D<class_transform2d>` of an owner node.
 
 
-.. _class_CollisionObject2D_set_shape:
+.. _class_CollisionObject2D_shape_owner_remove_shape:
 
 
-- void  **set_shape**  **(** :ref:`int<class_int>` shape_idx, :ref:`Shape<class_shape>` shape  **)**
+- void  **shape_owner_remove_shape**  **(** :ref:`int<class_int>` owner_id, :ref:`int<class_int>` shape_id  **)**
 
 
-Change a shape in the collision body.
+Removes related shape from the owner.
 
 
-.. _class_CollisionObject2D_set_shape_as_trigger:
+.. _class_CollisionObject2D_is_pickable:
 
 
-- void  **set_shape_as_trigger**  **(** :ref:`int<class_int>` shape_idx, :ref:`bool<class_bool>` enable  **)**
+- :ref:`bool<class_bool>`  **is_pickable**  **(** **)** const
 
 
-Set whether a shape is a trigger. A trigger shape detects collisions, but is otherwise unaffected by physics (i.e. colliding objects will not get blocked).
+Return whether this object is pickable.
 
 
-.. _class_CollisionObject2D_set_shape_transform:
+.. _class_CollisionObject2D_set_pickable:
 
 
-- void  **set_shape_transform**  **(** :ref:`int<class_int>` shape_idx, :ref:`Transform2D<class_transform2d>` transform  **)**
+- void  **set_pickable**  **(** :ref:`bool<class_bool>` enabled  **)**
 
 
-Change the shape transform in the collision body.
+Set whether this object is pickable. A pickable object can detect the mouse pointer enter/leave it and, if the mouse is inside it, report input events.
 
 
 
 

+ 10 - 23
classes/class_collisionpolygon.rst

@@ -18,47 +18,30 @@ Brief Description
 Member Functions
 Member Functions
 ----------------
 ----------------
 
 
-+--------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                            | :ref:`get_build_mode<class_CollisionPolygon_get_build_mode>`  **(** **)** const                                              |
-+--------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                            | :ref:`get_collision_object_first_shape<class_CollisionPolygon_get_collision_object_first_shape>`  **(** **)** const          |
-+--------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                            | :ref:`get_collision_object_last_shape<class_CollisionPolygon_get_collision_object_last_shape>`  **(** **)** const            |
 +--------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`float<class_float>`                        | :ref:`get_depth<class_CollisionPolygon_get_depth>`  **(** **)** const                                                        |
 | :ref:`float<class_float>`                        | :ref:`get_depth<class_CollisionPolygon_get_depth>`  **(** **)** const                                                        |
 +--------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`PoolVector2Array<class_poolvector2array>`  | :ref:`get_polygon<class_CollisionPolygon_get_polygon>`  **(** **)** const                                                    |
 | :ref:`PoolVector2Array<class_poolvector2array>`  | :ref:`get_polygon<class_CollisionPolygon_get_polygon>`  **(** **)** const                                                    |
 +--------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------+
-| void                                             | :ref:`set_build_mode<class_CollisionPolygon_set_build_mode>`  **(** :ref:`int<class_int>` build_mode  **)**                  |
+| :ref:`bool<class_bool>`                          | :ref:`is_disabled<class_CollisionPolygon_is_disabled>`  **(** **)** const                                                    |
 +--------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------+
 | void                                             | :ref:`set_depth<class_CollisionPolygon_set_depth>`  **(** :ref:`float<class_float>` depth  **)**                             |
 | void                                             | :ref:`set_depth<class_CollisionPolygon_set_depth>`  **(** :ref:`float<class_float>` depth  **)**                             |
 +--------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------+
+| void                                             | :ref:`set_disabled<class_CollisionPolygon_set_disabled>`  **(** :ref:`bool<class_bool>` disabled  **)**                      |
++--------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------+
 | void                                             | :ref:`set_polygon<class_CollisionPolygon_set_polygon>`  **(** :ref:`PoolVector2Array<class_poolvector2array>` polygon  **)** |
 | void                                             | :ref:`set_polygon<class_CollisionPolygon_set_polygon>`  **(** :ref:`PoolVector2Array<class_poolvector2array>` polygon  **)** |
 +--------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------+
 
 
 Member Variables
 Member Variables
 ----------------
 ----------------
 
 
-- :ref:`int<class_int>` **build_mode**
 - :ref:`float<class_float>` **depth**
 - :ref:`float<class_float>` **depth**
+- :ref:`bool<class_bool>` **disabled**
 - :ref:`PoolVector2Array<class_poolvector2array>` **polygon**
 - :ref:`PoolVector2Array<class_poolvector2array>` **polygon**
-- :ref:`Vector2<class_vector2>` **shape_range**
 
 
 Member Function Description
 Member Function Description
 ---------------------------
 ---------------------------
 
 
-.. _class_CollisionPolygon_get_build_mode:
-
-- :ref:`int<class_int>`  **get_build_mode**  **(** **)** const
-
-.. _class_CollisionPolygon_get_collision_object_first_shape:
-
-- :ref:`int<class_int>`  **get_collision_object_first_shape**  **(** **)** const
-
-.. _class_CollisionPolygon_get_collision_object_last_shape:
-
-- :ref:`int<class_int>`  **get_collision_object_last_shape**  **(** **)** const
-
 .. _class_CollisionPolygon_get_depth:
 .. _class_CollisionPolygon_get_depth:
 
 
 - :ref:`float<class_float>`  **get_depth**  **(** **)** const
 - :ref:`float<class_float>`  **get_depth**  **(** **)** const
@@ -67,14 +50,18 @@ Member Function Description
 
 
 - :ref:`PoolVector2Array<class_poolvector2array>`  **get_polygon**  **(** **)** const
 - :ref:`PoolVector2Array<class_poolvector2array>`  **get_polygon**  **(** **)** const
 
 
-.. _class_CollisionPolygon_set_build_mode:
+.. _class_CollisionPolygon_is_disabled:
 
 
-- void  **set_build_mode**  **(** :ref:`int<class_int>` build_mode  **)**
+- :ref:`bool<class_bool>`  **is_disabled**  **(** **)** const
 
 
 .. _class_CollisionPolygon_set_depth:
 .. _class_CollisionPolygon_set_depth:
 
 
 - void  **set_depth**  **(** :ref:`float<class_float>` depth  **)**
 - void  **set_depth**  **(** :ref:`float<class_float>` depth  **)**
 
 
+.. _class_CollisionPolygon_set_disabled:
+
+- void  **set_disabled**  **(** :ref:`bool<class_bool>` disabled  **)**
+
 .. _class_CollisionPolygon_set_polygon:
 .. _class_CollisionPolygon_set_polygon:
 
 
 - void  **set_polygon**  **(** :ref:`PoolVector2Array<class_poolvector2array>` polygon  **)**
 - void  **set_polygon**  **(** :ref:`PoolVector2Array<class_poolvector2array>` polygon  **)**

+ 22 - 34
classes/class_collisionpolygon2d.rst

@@ -21,28 +21,28 @@ Member Functions
 +--------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`int<class_int>`                            | :ref:`get_build_mode<class_CollisionPolygon2D_get_build_mode>`  **(** **)** const                                              |
 | :ref:`int<class_int>`                            | :ref:`get_build_mode<class_CollisionPolygon2D_get_build_mode>`  **(** **)** const                                              |
 +--------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                            | :ref:`get_collision_object_first_shape<class_CollisionPolygon2D_get_collision_object_first_shape>`  **(** **)** const          |
-+--------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                            | :ref:`get_collision_object_last_shape<class_CollisionPolygon2D_get_collision_object_last_shape>`  **(** **)** const            |
-+--------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`PoolVector2Array<class_poolvector2array>`  | :ref:`get_polygon<class_CollisionPolygon2D_get_polygon>`  **(** **)** const                                                    |
 | :ref:`PoolVector2Array<class_poolvector2array>`  | :ref:`get_polygon<class_CollisionPolygon2D_get_polygon>`  **(** **)** const                                                    |
 +--------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                          | :ref:`is_trigger<class_CollisionPolygon2D_is_trigger>`  **(** **)** const                                                      |
+| :ref:`bool<class_bool>`                          | :ref:`is_disabled<class_CollisionPolygon2D_is_disabled>`  **(** **)** const                                                    |
++--------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                          | :ref:`is_one_way_collision_enabled<class_CollisionPolygon2D_is_one_way_collision_enabled>`  **(** **)** const                  |
 +--------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------+
 | void                                             | :ref:`set_build_mode<class_CollisionPolygon2D_set_build_mode>`  **(** :ref:`int<class_int>` build_mode  **)**                  |
 | void                                             | :ref:`set_build_mode<class_CollisionPolygon2D_set_build_mode>`  **(** :ref:`int<class_int>` build_mode  **)**                  |
 +--------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------+
-| void                                             | :ref:`set_polygon<class_CollisionPolygon2D_set_polygon>`  **(** :ref:`PoolVector2Array<class_poolvector2array>` polygon  **)** |
+| void                                             | :ref:`set_disabled<class_CollisionPolygon2D_set_disabled>`  **(** :ref:`bool<class_bool>` disabled  **)**                      |
++--------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------+
+| void                                             | :ref:`set_one_way_collision<class_CollisionPolygon2D_set_one_way_collision>`  **(** :ref:`bool<class_bool>` enabled  **)**     |
 +--------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------+
-| void                                             | :ref:`set_trigger<class_CollisionPolygon2D_set_trigger>`  **(** :ref:`bool<class_bool>` trigger  **)**                         |
+| void                                             | :ref:`set_polygon<class_CollisionPolygon2D_set_polygon>`  **(** :ref:`PoolVector2Array<class_poolvector2array>` polygon  **)** |
 +--------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------+
 
 
 Member Variables
 Member Variables
 ----------------
 ----------------
 
 
 - :ref:`int<class_int>` **build_mode**
 - :ref:`int<class_int>` **build_mode**
+- :ref:`bool<class_bool>` **disabled**
+- :ref:`bool<class_bool>` **one_way_collision**
 - :ref:`PoolVector2Array<class_poolvector2array>` **polygon**
 - :ref:`PoolVector2Array<class_poolvector2array>` **polygon**
-- :ref:`Vector2<class_vector2>` **shape_range**
-- :ref:`bool<class_bool>` **trigger**
 
 
 Description
 Description
 -----------
 -----------
@@ -58,33 +58,19 @@ Member Function Description
 
 
 Return whether the polygon is a :ref:`ConvexPolygonShape2D<class_convexpolygonshape2d>` (``build_mode==0``), or a :ref:`ConcavePolygonShape2D<class_concavepolygonshape2d>` (``build_mode==1``).
 Return whether the polygon is a :ref:`ConvexPolygonShape2D<class_convexpolygonshape2d>` (``build_mode==0``), or a :ref:`ConcavePolygonShape2D<class_concavepolygonshape2d>` (``build_mode==1``).
 
 
-.. _class_CollisionPolygon2D_get_collision_object_first_shape:
-
-- :ref:`int<class_int>`  **get_collision_object_first_shape**  **(** **)** const
-
-Return the index of the first shape generated by the editor.
-
-When ``build_mode`` is set to generate convex polygons, the shape shown in the editor may be decomposed into many convex polygons. In that case, a range of indexes is needed to directly access the :ref:`Shape2D<class_shape2d>`.
-
-When ``build_mode`` is set to generate concave polygons, there is only one :ref:`Shape2D<class_shape2d>` generated, so the start index and the end index are the same.
-
-.. _class_CollisionPolygon2D_get_collision_object_last_shape:
-
-- :ref:`int<class_int>`  **get_collision_object_last_shape**  **(** **)** const
-
-Return the index of the last shape generated by the editor.
-
 .. _class_CollisionPolygon2D_get_polygon:
 .. _class_CollisionPolygon2D_get_polygon:
 
 
 - :ref:`PoolVector2Array<class_poolvector2array>`  **get_polygon**  **(** **)** const
 - :ref:`PoolVector2Array<class_poolvector2array>`  **get_polygon**  **(** **)** const
 
 
 Return the list of points that define the polygon.
 Return the list of points that define the polygon.
 
 
-.. _class_CollisionPolygon2D_is_trigger:
+.. _class_CollisionPolygon2D_is_disabled:
 
 
-- :ref:`bool<class_bool>`  **is_trigger**  **(** **)** const
+- :ref:`bool<class_bool>`  **is_disabled**  **(** **)** const
 
 
-Return whether this polygon is a trigger.
+.. _class_CollisionPolygon2D_is_one_way_collision_enabled:
+
+- :ref:`bool<class_bool>`  **is_one_way_collision_enabled**  **(** **)** const
 
 
 .. _class_CollisionPolygon2D_set_build_mode:
 .. _class_CollisionPolygon2D_set_build_mode:
 
 
@@ -92,6 +78,14 @@ Return whether this polygon is a trigger.
 
 
 Set whether the polygon is to be a :ref:`ConvexPolygonShape2D<class_convexpolygonshape2d>` (``build_mode==0``), or a :ref:`ConcavePolygonShape2D<class_concavepolygonshape2d>` (``build_mode==1``).
 Set whether the polygon is to be a :ref:`ConvexPolygonShape2D<class_convexpolygonshape2d>` (``build_mode==0``), or a :ref:`ConcavePolygonShape2D<class_concavepolygonshape2d>` (``build_mode==1``).
 
 
+.. _class_CollisionPolygon2D_set_disabled:
+
+- void  **set_disabled**  **(** :ref:`bool<class_bool>` disabled  **)**
+
+.. _class_CollisionPolygon2D_set_one_way_collision:
+
+- void  **set_one_way_collision**  **(** :ref:`bool<class_bool>` enabled  **)**
+
 .. _class_CollisionPolygon2D_set_polygon:
 .. _class_CollisionPolygon2D_set_polygon:
 
 
 - void  **set_polygon**  **(** :ref:`PoolVector2Array<class_poolvector2array>` polygon  **)**
 - void  **set_polygon**  **(** :ref:`PoolVector2Array<class_poolvector2array>` polygon  **)**
@@ -100,10 +94,4 @@ Set the array of points forming the polygon.
 
 
 When editing the point list via the editor, depending on :ref:`get_build_mode<class_CollisionPolygon2D_get_build_mode>`, it has to be a list of points (for ``build_mode==0``), or a list of lines (for ``build_mode==1``). In the second case, the even elements of the array define the start point of the line, and the odd elements the end point.
 When editing the point list via the editor, depending on :ref:`get_build_mode<class_CollisionPolygon2D_get_build_mode>`, it has to be a list of points (for ``build_mode==0``), or a list of lines (for ``build_mode==1``). In the second case, the even elements of the array define the start point of the line, and the odd elements the end point.
 
 
-.. _class_CollisionPolygon2D_set_trigger:
-
-- void  **set_trigger**  **(** :ref:`bool<class_bool>` trigger  **)**
-
-Set whether this polygon is a trigger. A trigger polygon detects collisions, but is otherwise unaffected by physics (i.e. colliding objects will not get blocked).
-
 
 

+ 10 - 17
classes/class_collisionshape.rst

@@ -18,43 +18,36 @@ Brief Description
 Member Functions
 Member Functions
 ----------------
 ----------------
 
 
-+------------------------------+-------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`        | :ref:`get_collision_object_shape_index<class_CollisionShape_get_collision_object_shape_index>`  **(** **)** const |
 +------------------------------+-------------------------------------------------------------------------------------------------------------------+
 +------------------------------+-------------------------------------------------------------------------------------------------------------------+
 | :ref:`Object<class_object>`  | :ref:`get_shape<class_CollisionShape_get_shape>`  **(** **)** const                                               |
 | :ref:`Object<class_object>`  | :ref:`get_shape<class_CollisionShape_get_shape>`  **(** **)** const                                               |
 +------------------------------+-------------------------------------------------------------------------------------------------------------------+
 +------------------------------+-------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`      | :ref:`is_trigger<class_CollisionShape_is_trigger>`  **(** **)** const                                             |
+| :ref:`bool<class_bool>`      | :ref:`is_disabled<class_CollisionShape_is_disabled>`  **(** **)** const                                           |
 +------------------------------+-------------------------------------------------------------------------------------------------------------------+
 +------------------------------+-------------------------------------------------------------------------------------------------------------------+
 | void                         | :ref:`make_convex_from_brothers<class_CollisionShape_make_convex_from_brothers>`  **(** **)**                     |
 | void                         | :ref:`make_convex_from_brothers<class_CollisionShape_make_convex_from_brothers>`  **(** **)**                     |
 +------------------------------+-------------------------------------------------------------------------------------------------------------------+
 +------------------------------+-------------------------------------------------------------------------------------------------------------------+
 | void                         | :ref:`resource_changed<class_CollisionShape_resource_changed>`  **(** :ref:`Object<class_object>` resource  **)** |
 | void                         | :ref:`resource_changed<class_CollisionShape_resource_changed>`  **(** :ref:`Object<class_object>` resource  **)** |
 +------------------------------+-------------------------------------------------------------------------------------------------------------------+
 +------------------------------+-------------------------------------------------------------------------------------------------------------------+
-| void                         | :ref:`set_shape<class_CollisionShape_set_shape>`  **(** :ref:`Object<class_object>` shape  **)**                  |
+| void                         | :ref:`set_disabled<class_CollisionShape_set_disabled>`  **(** :ref:`bool<class_bool>` enable  **)**               |
 +------------------------------+-------------------------------------------------------------------------------------------------------------------+
 +------------------------------+-------------------------------------------------------------------------------------------------------------------+
-| void                         | :ref:`set_trigger<class_CollisionShape_set_trigger>`  **(** :ref:`bool<class_bool>` enable  **)**                 |
+| void                         | :ref:`set_shape<class_CollisionShape_set_shape>`  **(** :ref:`Object<class_object>` shape  **)**                  |
 +------------------------------+-------------------------------------------------------------------------------------------------------------------+
 +------------------------------+-------------------------------------------------------------------------------------------------------------------+
 
 
 Member Variables
 Member Variables
 ----------------
 ----------------
 
 
-- :ref:`int<class_int>` **_update_shape_index**
+- :ref:`bool<class_bool>` **disabled**
 - :ref:`Shape<class_shape>` **shape**
 - :ref:`Shape<class_shape>` **shape**
-- :ref:`bool<class_bool>` **trigger**
 
 
 Member Function Description
 Member Function Description
 ---------------------------
 ---------------------------
 
 
-.. _class_CollisionShape_get_collision_object_shape_index:
-
-- :ref:`int<class_int>`  **get_collision_object_shape_index**  **(** **)** const
-
 .. _class_CollisionShape_get_shape:
 .. _class_CollisionShape_get_shape:
 
 
 - :ref:`Object<class_object>`  **get_shape**  **(** **)** const
 - :ref:`Object<class_object>`  **get_shape**  **(** **)** const
 
 
-.. _class_CollisionShape_is_trigger:
+.. _class_CollisionShape_is_disabled:
 
 
-- :ref:`bool<class_bool>`  **is_trigger**  **(** **)** const
+- :ref:`bool<class_bool>`  **is_disabled**  **(** **)** const
 
 
 .. _class_CollisionShape_make_convex_from_brothers:
 .. _class_CollisionShape_make_convex_from_brothers:
 
 
@@ -64,12 +57,12 @@ Member Function Description
 
 
 - void  **resource_changed**  **(** :ref:`Object<class_object>` resource  **)**
 - void  **resource_changed**  **(** :ref:`Object<class_object>` resource  **)**
 
 
-.. _class_CollisionShape_set_shape:
+.. _class_CollisionShape_set_disabled:
 
 
-- void  **set_shape**  **(** :ref:`Object<class_object>` shape  **)**
+- void  **set_disabled**  **(** :ref:`bool<class_bool>` enable  **)**
 
 
-.. _class_CollisionShape_set_trigger:
+.. _class_CollisionShape_set_shape:
 
 
-- void  **set_trigger**  **(** :ref:`bool<class_bool>` enable  **)**
+- void  **set_shape**  **(** :ref:`Object<class_object>` shape  **)**
 
 
 
 

+ 28 - 28
classes/class_collisionshape2d.rst

@@ -18,24 +18,26 @@ Editor-only class for easy editing of shapes.
 Member Functions
 Member Functions
 ----------------
 ----------------
 
 
-+------------------------------+---------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`        | :ref:`get_collision_object_shape_index<class_CollisionShape2D_get_collision_object_shape_index>`  **(** **)** const |
-+------------------------------+---------------------------------------------------------------------------------------------------------------------+
-| :ref:`Object<class_object>`  | :ref:`get_shape<class_CollisionShape2D_get_shape>`  **(** **)** const                                               |
-+------------------------------+---------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`      | :ref:`is_trigger<class_CollisionShape2D_is_trigger>`  **(** **)** const                                             |
-+------------------------------+---------------------------------------------------------------------------------------------------------------------+
-| void                         | :ref:`set_shape<class_CollisionShape2D_set_shape>`  **(** :ref:`Object<class_object>` shape  **)**                  |
-+------------------------------+---------------------------------------------------------------------------------------------------------------------+
-| void                         | :ref:`set_trigger<class_CollisionShape2D_set_trigger>`  **(** :ref:`bool<class_bool>` enable  **)**                 |
-+------------------------------+---------------------------------------------------------------------------------------------------------------------+
++------------------------------+--------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Object<class_object>`  | :ref:`get_shape<class_CollisionShape2D_get_shape>`  **(** **)** const                                                    |
++------------------------------+--------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`      | :ref:`is_disabled<class_CollisionShape2D_is_disabled>`  **(** **)** const                                                |
++------------------------------+--------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`      | :ref:`is_one_way_collision_enabled<class_CollisionShape2D_is_one_way_collision_enabled>`  **(** **)** const              |
++------------------------------+--------------------------------------------------------------------------------------------------------------------------+
+| void                         | :ref:`set_disabled<class_CollisionShape2D_set_disabled>`  **(** :ref:`bool<class_bool>` disabled  **)**                  |
++------------------------------+--------------------------------------------------------------------------------------------------------------------------+
+| void                         | :ref:`set_one_way_collision<class_CollisionShape2D_set_one_way_collision>`  **(** :ref:`bool<class_bool>` enabled  **)** |
++------------------------------+--------------------------------------------------------------------------------------------------------------------------+
+| void                         | :ref:`set_shape<class_CollisionShape2D_set_shape>`  **(** :ref:`Object<class_object>` shape  **)**                       |
++------------------------------+--------------------------------------------------------------------------------------------------------------------------+
 
 
 Member Variables
 Member Variables
 ----------------
 ----------------
 
 
-- :ref:`int<class_int>` **_update_shape_index**
+- :ref:`bool<class_bool>` **disabled**
+- :ref:`bool<class_bool>` **one_way_collision**
 - :ref:`Shape2D<class_shape2d>` **shape**
 - :ref:`Shape2D<class_shape2d>` **shape**
-- :ref:`bool<class_bool>` **trigger**
 
 
 Description
 Description
 -----------
 -----------
@@ -45,34 +47,32 @@ Editor-only class. This is not present when running the game. It's used in the e
 Member Function Description
 Member Function Description
 ---------------------------
 ---------------------------
 
 
-.. _class_CollisionShape2D_get_collision_object_shape_index:
-
-- :ref:`int<class_int>`  **get_collision_object_shape_index**  **(** **)** const
-
-Return the index of this shape inside its container :ref:`CollisionObject2D<class_collisionobject2d>`. This can be used to directly access the underlying :ref:`Shape2D<class_shape2d>`.
-
 .. _class_CollisionShape2D_get_shape:
 .. _class_CollisionShape2D_get_shape:
 
 
 - :ref:`Object<class_object>`  **get_shape**  **(** **)** const
 - :ref:`Object<class_object>`  **get_shape**  **(** **)** const
 
 
 Return this shape's :ref:`Shape2D<class_shape2d>`.
 Return this shape's :ref:`Shape2D<class_shape2d>`.
 
 
-.. _class_CollisionShape2D_is_trigger:
+.. _class_CollisionShape2D_is_disabled:
 
 
-- :ref:`bool<class_bool>`  **is_trigger**  **(** **)** const
+- :ref:`bool<class_bool>`  **is_disabled**  **(** **)** const
 
 
-Return whether this shape is a trigger.
+.. _class_CollisionShape2D_is_one_way_collision_enabled:
 
 
-.. _class_CollisionShape2D_set_shape:
+- :ref:`bool<class_bool>`  **is_one_way_collision_enabled**  **(** **)** const
 
 
-- void  **set_shape**  **(** :ref:`Object<class_object>` shape  **)**
+.. _class_CollisionShape2D_set_disabled:
 
 
-Set this shape's :ref:`Shape2D<class_shape2d>`. This will not appear as a node, but can be directly edited as a property.
+- void  **set_disabled**  **(** :ref:`bool<class_bool>` disabled  **)**
 
 
-.. _class_CollisionShape2D_set_trigger:
+.. _class_CollisionShape2D_set_one_way_collision:
 
 
-- void  **set_trigger**  **(** :ref:`bool<class_bool>` enable  **)**
+- void  **set_one_way_collision**  **(** :ref:`bool<class_bool>` enabled  **)**
 
 
-Set whether this shape is a trigger. A trigger shape detects collisions, but is otherwise unaffected by physics (i.e. will not block movement of colliding objects).
+.. _class_CollisionShape2D_set_shape:
+
+- void  **set_shape**  **(** :ref:`Object<class_object>` shape  **)**
+
+Set this shape's :ref:`Shape2D<class_shape2d>`. This will not appear as a node, but can be directly edited as a property.
 
 
 
 

+ 47 - 4
classes/class_control.rst

@@ -77,6 +77,8 @@ Member Functions
 +----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`Rect2<class_rect2>`        | :ref:`get_global_rect<class_Control_get_global_rect>`  **(** **)** const                                                                                                          |
 | :ref:`Rect2<class_rect2>`        | :ref:`get_global_rect<class_Control_get_global_rect>`  **(** **)** const                                                                                                          |
 +----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`            | :ref:`get_h_grow_direction<class_Control_get_h_grow_direction>`  **(** **)** const                                                                                                |
++----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`int<class_int>`            | :ref:`get_h_size_flags<class_Control_get_h_size_flags>`  **(** **)** const                                                                                                        |
 | :ref:`int<class_int>`            | :ref:`get_h_size_flags<class_Control_get_h_size_flags>`  **(** **)** const                                                                                                        |
 +----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`Texture<class_texture>`    | :ref:`get_icon<class_Control_get_icon>`  **(** :ref:`String<class_string>` name, :ref:`String<class_string>` type=""  **)** const                                                 |
 | :ref:`Texture<class_texture>`    | :ref:`get_icon<class_Control_get_icon>`  **(** :ref:`String<class_string>` name, :ref:`String<class_string>` type=""  **)** const                                                 |
@@ -91,6 +93,8 @@ Member Functions
 +----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`Control<class_control>`    | :ref:`get_parent_control<class_Control_get_parent_control>`  **(** **)** const                                                                                                    |
 | :ref:`Control<class_control>`    | :ref:`get_parent_control<class_Control_get_parent_control>`  **(** **)** const                                                                                                    |
 +----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Vector2<class_vector2>`    | :ref:`get_pivot_offset<class_Control_get_pivot_offset>`  **(** **)** const                                                                                                        |
++----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`Vector2<class_vector2>`    | :ref:`get_position<class_Control_get_position>`  **(** **)** const                                                                                                                |
 | :ref:`Vector2<class_vector2>`    | :ref:`get_position<class_Control_get_position>`  **(** **)** const                                                                                                                |
 +----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`Rect2<class_rect2>`        | :ref:`get_rect<class_Control_get_rect>`  **(** **)** const                                                                                                                        |
 | :ref:`Rect2<class_rect2>`        | :ref:`get_rect<class_Control_get_rect>`  **(** **)** const                                                                                                                        |
@@ -111,6 +115,8 @@ Member Functions
 +----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :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_grow_direction<class_Control_get_v_grow_direction>`  **(** **)** const                                                                                                |
++----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`int<class_int>`            | :ref:`get_v_size_flags<class_Control_get_v_size_flags>`  **(** **)** const                                                                                                        |
 | :ref:`int<class_int>`            | :ref:`get_v_size_flags<class_Control_get_v_size_flags>`  **(** **)** const                                                                                                        |
 +----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                             | :ref:`grab_click_focus<class_Control_grab_click_focus>`  **(** **)**                                                                                                              |
 | void                             | :ref:`grab_click_focus<class_Control_grab_click_focus>`  **(** **)**                                                                                                              |
@@ -173,12 +179,16 @@ Member Functions
 +----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                             | :ref:`set_global_position<class_Control_set_global_position>`  **(** :ref:`Vector2<class_vector2>` pos  **)**                                                                     |
 | void                             | :ref:`set_global_position<class_Control_set_global_position>`  **(** :ref:`Vector2<class_vector2>` pos  **)**                                                                     |
 +----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                             | :ref:`set_h_grow_direction<class_Control_set_h_grow_direction>`  **(** :ref:`int<class_int>` direction  **)**                                                                     |
++----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                             | :ref:`set_h_size_flags<class_Control_set_h_size_flags>`  **(** :ref:`int<class_int>` flags  **)**                                                                                 |
 | void                             | :ref:`set_h_size_flags<class_Control_set_h_size_flags>`  **(** :ref:`int<class_int>` flags  **)**                                                                                 |
 +----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                             | :ref:`set_margin<class_Control_set_margin>`  **(** :ref:`int<class_int>` margin, :ref:`float<class_float>` offset  **)**                                                          |
 | void                             | :ref:`set_margin<class_Control_set_margin>`  **(** :ref:`int<class_int>` margin, :ref:`float<class_float>` offset  **)**                                                          |
 +----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                             | :ref:`set_mouse_filter<class_Control_set_mouse_filter>`  **(** :ref:`int<class_int>` filter  **)**                                                                                |
 | void                             | :ref:`set_mouse_filter<class_Control_set_mouse_filter>`  **(** :ref:`int<class_int>` filter  **)**                                                                                |
 +----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                             | :ref:`set_pivot_offset<class_Control_set_pivot_offset>`  **(** :ref:`Vector2<class_vector2>` pivot_offset  **)**                                                                  |
++----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                             | :ref:`set_position<class_Control_set_position>`  **(** :ref:`Vector2<class_vector2>` pos  **)**                                                                                   |
 | void                             | :ref:`set_position<class_Control_set_position>`  **(** :ref:`Vector2<class_vector2>` pos  **)**                                                                                   |
 +----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                             | :ref:`set_rotation<class_Control_set_rotation>`  **(** :ref:`float<class_float>` radians  **)**                                                                                   |
 | void                             | :ref:`set_rotation<class_Control_set_rotation>`  **(** :ref:`float<class_float>` radians  **)**                                                                                   |
@@ -195,6 +205,8 @@ Member Functions
 +----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                             | :ref:`set_tooltip<class_Control_set_tooltip>`  **(** :ref:`String<class_string>` tooltip  **)**                                                                                   |
 | void                             | :ref:`set_tooltip<class_Control_set_tooltip>`  **(** :ref:`String<class_string>` tooltip  **)**                                                                                   |
 +----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                             | :ref:`set_v_grow_direction<class_Control_set_v_grow_direction>`  **(** :ref:`int<class_int>` direction  **)**                                                                     |
++----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                             | :ref:`set_v_size_flags<class_Control_set_v_size_flags>`  **(** :ref:`int<class_int>` flags  **)**                                                                                 |
 | void                             | :ref:`set_v_size_flags<class_Control_set_v_size_flags>`  **(** :ref:`int<class_int>` flags  **)**                                                                                 |
 +----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                             | :ref:`show_modal<class_Control_show_modal>`  **(** :ref:`bool<class_bool>` exclusive=false  **)**                                                                                 |
 | void                             | :ref:`show_modal<class_Control_show_modal>`  **(** :ref:`bool<class_bool>` exclusive=false  **)**                                                                                 |
@@ -240,6 +252,8 @@ Member Variables
 - :ref:`NodePath<class_nodepath>` **focus_neighbour_left**
 - :ref:`NodePath<class_nodepath>` **focus_neighbour_left**
 - :ref:`NodePath<class_nodepath>` **focus_neighbour_right**
 - :ref:`NodePath<class_nodepath>` **focus_neighbour_right**
 - :ref:`NodePath<class_nodepath>` **focus_neighbour_top**
 - :ref:`NodePath<class_nodepath>` **focus_neighbour_top**
+- :ref:`int<class_int>` **grow_horizontal**
+- :ref:`int<class_int>` **grow_vertical**
 - :ref:`String<class_string>` **hint_tooltip**
 - :ref:`String<class_string>` **hint_tooltip**
 - :ref:`int<class_int>` **margin_bottom**
 - :ref:`int<class_int>` **margin_bottom**
 - :ref:`int<class_int>` **margin_left**
 - :ref:`int<class_int>` **margin_left**
@@ -248,6 +262,7 @@ Member Variables
 - :ref:`int<class_int>` **mouse_filter**
 - :ref:`int<class_int>` **mouse_filter**
 - :ref:`bool<class_bool>` **rect_clip_content**
 - :ref:`bool<class_bool>` **rect_clip_content**
 - :ref:`Vector2<class_vector2>` **rect_min_size**
 - :ref:`Vector2<class_vector2>` **rect_min_size**
+- :ref:`Vector2<class_vector2>` **rect_pivot_offset**
 - :ref:`Vector2<class_vector2>` **rect_position**
 - :ref:`Vector2<class_vector2>` **rect_position**
 - :ref:`float<class_float>` **rect_rotation**
 - :ref:`float<class_float>` **rect_rotation**
 - :ref:`Vector2<class_vector2>` **rect_scale**
 - :ref:`Vector2<class_vector2>` **rect_scale**
@@ -293,9 +308,13 @@ Numeric Constants
 - **SIZE_EXPAND** = **2**
 - **SIZE_EXPAND** = **2**
 - **SIZE_FILL** = **1**
 - **SIZE_FILL** = **1**
 - **SIZE_EXPAND_FILL** = **3**
 - **SIZE_EXPAND_FILL** = **3**
+- **SIZE_SHRINK_CENTER** = **4**
+- **SIZE_SHRINK_END** = **8**
 - **MOUSE_FILTER_STOP** = **0**
 - **MOUSE_FILTER_STOP** = **0**
 - **MOUSE_FILTER_PASS** = **1**
 - **MOUSE_FILTER_PASS** = **1**
 - **MOUSE_FILTER_IGNORE** = **2**
 - **MOUSE_FILTER_IGNORE** = **2**
+- **GROW_DIRECTION_BEGIN** = **0**
+- **GROW_DIRECTION_END** = **1**
 
 
 Description
 Description
 -----------
 -----------
@@ -363,7 +382,7 @@ Override a single icon (:ref:`Texture<class_texture>`) in the theme of this Cont
 
 
 - void  **add_style_override**  **(** :ref:`String<class_string>` name, :ref:`StyleBox<class_stylebox>` stylebox  **)**
 - void  **add_style_override**  **(** :ref:`String<class_string>` name, :ref:`StyleBox<class_stylebox>` stylebox  **)**
 
 
-Override a single stylebox (:ref:`Stylebox<class_stylebox>`) in the theme of this Control. If stylebox is empty, override is cleared.
+Override a single stylebox (Stylebox) in the theme of this Control. If stylebox is empty, override is cleared.
 
 
 .. _class_Control_can_drop_data:
 .. _class_Control_can_drop_data:
 
 
@@ -457,7 +476,11 @@ Returns the Control position, relative to the top-left corner of the parent Cont
 
 
 - :ref:`Rect2<class_rect2>`  **get_global_rect**  **(** **)** const
 - :ref:`Rect2<class_rect2>`  **get_global_rect**  **(** **)** const
 
 
-Return position and size of the Control, relative to the top-left corner of the *window* Control. This is a helper (see :ref:`get_global_pos<class_Control_get_global_pos>`, :ref:`get_size<class_Control_get_size>`).
+Return position and size of the Control, relative to the top-left corner of the *window* Control. This is a helper (see :ref:`get_global_position<class_Control_get_global_position>`, :ref:`get_size<class_Control_get_size>`).
+
+.. _class_Control_get_h_grow_direction:
+
+- :ref:`int<class_int>`  **get_h_grow_direction**  **(** **)** const
 
 
 .. _class_Control_get_h_size_flags:
 .. _class_Control_get_h_size_flags:
 
 
@@ -495,6 +518,10 @@ Return when the control is ignoring mouse events (even touchpad events send mous
 
 
 - :ref:`Control<class_control>`  **get_parent_control**  **(** **)** const
 - :ref:`Control<class_control>`  **get_parent_control**  **(** **)** const
 
 
+.. _class_Control_get_pivot_offset:
+
+- :ref:`Vector2<class_vector2>`  **get_pivot_offset**  **(** **)** const
+
 .. _class_Control_get_position:
 .. _class_Control_get_position:
 
 
 - :ref:`Vector2<class_vector2>`  **get_position**  **(** **)** const
 - :ref:`Vector2<class_vector2>`  **get_position**  **(** **)** const
@@ -505,7 +532,7 @@ Returns the Control position, relative to the top-left corner of the parent Cont
 
 
 - :ref:`Rect2<class_rect2>`  **get_rect**  **(** **)** const
 - :ref:`Rect2<class_rect2>`  **get_rect**  **(** **)** const
 
 
-Return position and size of the Control, relative to the top-left corner of the parent Control. This is a helper (see :ref:`get_pos<class_Control_get_pos>`, :ref:`get_size<class_Control_get_size>`).
+Return position and size of the Control, relative to the top-left corner of the parent Control. This is a helper (see :ref:`get_position<class_Control_get_position>`, :ref:`get_size<class_Control_get_size>`).
 
 
 .. _class_Control_get_rotation:
 .. _class_Control_get_rotation:
 
 
@@ -527,7 +554,7 @@ Return the rotation (in degrees)
 
 
 - :ref:`Vector2<class_vector2>`  **get_size**  **(** **)** const
 - :ref:`Vector2<class_vector2>`  **get_size**  **(** **)** const
 
 
-Returns the size of the Control, computed from all margins, however the size returned will **never be smaller than the minimum size reported by :ref:`get_minimum_size<class_Control_get_minimum_size>`**. This means that even if end position of the Control rectangle is smaller than the begin position, the Control will still display and interact correctly. (see description, :ref:`get_minimum_size<class_Control_get_minimum_size>`, :ref:`set_margin<class_Control_set_margin>`, :ref:`set_anchor<class_Control_set_anchor>`).
+Returns the size of the Control, computed from all margins, however the size returned will **never be smaller than the minimum size reported by** :ref:`get_minimum_size<class_Control_get_minimum_size>`. This means that even if end position of the Control rectangle is smaller than the begin position, the Control will still display and interact correctly. (see description, :ref:`get_minimum_size<class_Control_get_minimum_size>`, :ref:`set_margin<class_Control_set_margin>`, :ref:`set_anchor<class_Control_set_anchor>`).
 
 
 .. _class_Control_get_stretch_ratio:
 .. _class_Control_get_stretch_ratio:
 
 
@@ -551,6 +578,10 @@ Return a :ref:`Theme<class_theme>` override, if one exists (see :ref:`set_theme<
 
 
 Return the tooltip, which will appear when the cursor is resting over this control.
 Return the tooltip, which will appear when the cursor is resting over this control.
 
 
+.. _class_Control_get_v_grow_direction:
+
+- :ref:`int<class_int>`  **get_v_grow_direction**  **(** **)** const
+
 .. _class_Control_get_v_size_flags:
 .. _class_Control_get_v_size_flags:
 
 
 - :ref:`int<class_int>`  **get_v_size_flags**  **(** **)** const
 - :ref:`int<class_int>`  **get_v_size_flags**  **(** **)** const
@@ -703,6 +734,10 @@ Force a neighbour for moving the input focus to. When pressing TAB or directiona
 
 
 Move the Control to a new position, relative to the top-left corner of the *window* Control, and without changing current anchor mode. (see :ref:`set_margin<class_Control_set_margin>`).
 Move the Control to a new position, relative to the top-left corner of the *window* Control, and without changing current anchor mode. (see :ref:`set_margin<class_Control_set_margin>`).
 
 
+.. _class_Control_set_h_grow_direction:
+
+- void  **set_h_grow_direction**  **(** :ref:`int<class_int>` direction  **)**
+
 .. _class_Control_set_h_size_flags:
 .. _class_Control_set_h_size_flags:
 
 
 - void  **set_h_size_flags**  **(** :ref:`int<class_int>` flags  **)**
 - void  **set_h_size_flags**  **(** :ref:`int<class_int>` flags  **)**
@@ -721,6 +756,10 @@ Set a margin offset. Margin can be one of (MARGIN_LEFT, MARGIN_TOP, MARGIN_RIGHT
 
 
 Set when the control is ignoring mouse events (even touchpad events send mouse events). (see the MOUSE_FILTER\_\* constants)
 Set when the control is ignoring mouse events (even touchpad events send mouse events). (see the MOUSE_FILTER\_\* constants)
 
 
+.. _class_Control_set_pivot_offset:
+
+- void  **set_pivot_offset**  **(** :ref:`Vector2<class_vector2>` pivot_offset  **)**
+
 .. _class_Control_set_position:
 .. _class_Control_set_position:
 
 
 - void  **set_position**  **(** :ref:`Vector2<class_vector2>` pos  **)**
 - void  **set_position**  **(** :ref:`Vector2<class_vector2>` pos  **)**
@@ -767,6 +806,10 @@ Override whole the :ref:`Theme<class_theme>` for this Control and all its childr
 
 
 Set a tooltip, which will appear when the cursor is resting over this control.
 Set a tooltip, which will appear when the cursor is resting over this control.
 
 
+.. _class_Control_set_v_grow_direction:
+
+- void  **set_v_grow_direction**  **(** :ref:`int<class_int>` direction  **)**
+
 .. _class_Control_set_v_size_flags:
 .. _class_Control_set_v_size_flags:
 
 
 - void  **set_v_size_flags**  **(** :ref:`int<class_int>` flags  **)**
 - void  **set_v_size_flags**  **(** :ref:`int<class_int>` flags  **)**

+ 183 - 0
classes/class_curve.rst

@@ -0,0 +1,183 @@
+.. 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_Curve:
+
+Curve
+=====
+
+**Inherits:** :ref:`Resource<class_resource>` **<** :ref:`Reference<class_reference>` **<** :ref:`Object<class_object>`
+
+**Category:** Core
+
+Brief Description
+-----------------
+
+
+
+Member Functions
+----------------
+
++--------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`          | :ref:`add_point<class_Curve_add_point>`  **(** :ref:`Vector2<class_vector2>` pos, :ref:`float<class_float>` left_tangent=0, :ref:`float<class_float>` right_tangent=0, :ref:`int<class_int>` left_mode=0, :ref:`int<class_int>` right_mode=0  **)** |
++--------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                           | :ref:`bake<class_Curve_bake>`  **(** **)**                                                                                                                                                                                                          |
++--------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                           | :ref:`clean_dupes<class_Curve_clean_dupes>`  **(** **)**                                                                                                                                                                                            |
++--------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                           | :ref:`clear_points<class_Curve_clear_points>`  **(** **)**                                                                                                                                                                                          |
++--------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`          | :ref:`get_bake_resolution<class_Curve_get_bake_resolution>`  **(** **)** const                                                                                                                                                                      |
++--------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`      | :ref:`get_max_value<class_Curve_get_max_value>`  **(** **)** const                                                                                                                                                                                  |
++--------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`      | :ref:`get_min_value<class_Curve_get_min_value>`  **(** **)** const                                                                                                                                                                                  |
++--------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`          | :ref:`get_point_left_mode<class_Curve_get_point_left_mode>`  **(** :ref:`int<class_int>` index  **)** const                                                                                                                                         |
++--------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`      | :ref:`get_point_left_tangent<class_Curve_get_point_left_tangent>`  **(** :ref:`int<class_int>` index  **)** const                                                                                                                                   |
++--------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Vector2<class_vector2>`  | :ref:`get_point_pos<class_Curve_get_point_pos>`  **(** :ref:`int<class_int>` index  **)** const                                                                                                                                                     |
++--------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`          | :ref:`get_point_right_mode<class_Curve_get_point_right_mode>`  **(** :ref:`int<class_int>` index  **)** const                                                                                                                                       |
++--------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`      | :ref:`get_point_right_tangent<class_Curve_get_point_right_tangent>`  **(** :ref:`int<class_int>` index  **)** const                                                                                                                                 |
++--------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`      | :ref:`interpolate<class_Curve_interpolate>`  **(** :ref:`float<class_float>` offset  **)** const                                                                                                                                                    |
++--------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`      | :ref:`interpolate_baked<class_Curve_interpolate_baked>`  **(** :ref:`float<class_float>` offset  **)**                                                                                                                                              |
++--------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                           | :ref:`remove_point<class_Curve_remove_point>`  **(** :ref:`int<class_int>` index  **)**                                                                                                                                                             |
++--------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                           | :ref:`set_bake_resolution<class_Curve_set_bake_resolution>`  **(** :ref:`int<class_int>` resolution  **)**                                                                                                                                          |
++--------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                           | :ref:`set_max_value<class_Curve_set_max_value>`  **(** :ref:`float<class_float>` max  **)**                                                                                                                                                         |
++--------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                           | :ref:`set_min_value<class_Curve_set_min_value>`  **(** :ref:`float<class_float>` min  **)**                                                                                                                                                         |
++--------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                           | :ref:`set_point_left_mode<class_Curve_set_point_left_mode>`  **(** :ref:`int<class_int>` index, :ref:`int<class_int>` mode  **)**                                                                                                                   |
++--------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                           | :ref:`set_point_left_tangent<class_Curve_set_point_left_tangent>`  **(** :ref:`int<class_int>` index, :ref:`float<class_float>` tangent  **)**                                                                                                      |
++--------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                           | :ref:`set_point_offset<class_Curve_set_point_offset>`  **(** :ref:`int<class_int>` index, :ref:`float<class_float>` offset  **)**                                                                                                                   |
++--------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                           | :ref:`set_point_right_mode<class_Curve_set_point_right_mode>`  **(** :ref:`int<class_int>` index, :ref:`int<class_int>` mode  **)**                                                                                                                 |
++--------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                           | :ref:`set_point_right_tangent<class_Curve_set_point_right_tangent>`  **(** :ref:`int<class_int>` index, :ref:`float<class_float>` tangent  **)**                                                                                                    |
++--------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                           | :ref:`set_point_value<class_Curve_set_point_value>`  **(** :ref:`int<class_int>` index, :ref:`float<class_float>` y  **)**                                                                                                                          |
++--------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+
+Signals
+-------
+
+-  **range_changed**  **(** **)**
+
+Member Variables
+----------------
+
+- :ref:`int<class_int>` **_data**
+- :ref:`int<class_int>` **bake_resolution**
+- :ref:`float<class_float>` **max_value**
+- :ref:`float<class_float>` **min_value**
+
+Member Function Description
+---------------------------
+
+.. _class_Curve_add_point:
+
+- :ref:`int<class_int>`  **add_point**  **(** :ref:`Vector2<class_vector2>` pos, :ref:`float<class_float>` left_tangent=0, :ref:`float<class_float>` right_tangent=0, :ref:`int<class_int>` left_mode=0, :ref:`int<class_int>` right_mode=0  **)**
+
+.. _class_Curve_bake:
+
+- void  **bake**  **(** **)**
+
+.. _class_Curve_clean_dupes:
+
+- void  **clean_dupes**  **(** **)**
+
+.. _class_Curve_clear_points:
+
+- void  **clear_points**  **(** **)**
+
+.. _class_Curve_get_bake_resolution:
+
+- :ref:`int<class_int>`  **get_bake_resolution**  **(** **)** const
+
+.. _class_Curve_get_max_value:
+
+- :ref:`float<class_float>`  **get_max_value**  **(** **)** const
+
+.. _class_Curve_get_min_value:
+
+- :ref:`float<class_float>`  **get_min_value**  **(** **)** const
+
+.. _class_Curve_get_point_left_mode:
+
+- :ref:`int<class_int>`  **get_point_left_mode**  **(** :ref:`int<class_int>` index  **)** const
+
+.. _class_Curve_get_point_left_tangent:
+
+- :ref:`float<class_float>`  **get_point_left_tangent**  **(** :ref:`int<class_int>` index  **)** const
+
+.. _class_Curve_get_point_pos:
+
+- :ref:`Vector2<class_vector2>`  **get_point_pos**  **(** :ref:`int<class_int>` index  **)** const
+
+.. _class_Curve_get_point_right_mode:
+
+- :ref:`int<class_int>`  **get_point_right_mode**  **(** :ref:`int<class_int>` index  **)** const
+
+.. _class_Curve_get_point_right_tangent:
+
+- :ref:`float<class_float>`  **get_point_right_tangent**  **(** :ref:`int<class_int>` index  **)** const
+
+.. _class_Curve_interpolate:
+
+- :ref:`float<class_float>`  **interpolate**  **(** :ref:`float<class_float>` offset  **)** const
+
+.. _class_Curve_interpolate_baked:
+
+- :ref:`float<class_float>`  **interpolate_baked**  **(** :ref:`float<class_float>` offset  **)**
+
+.. _class_Curve_remove_point:
+
+- void  **remove_point**  **(** :ref:`int<class_int>` index  **)**
+
+.. _class_Curve_set_bake_resolution:
+
+- void  **set_bake_resolution**  **(** :ref:`int<class_int>` resolution  **)**
+
+.. _class_Curve_set_max_value:
+
+- void  **set_max_value**  **(** :ref:`float<class_float>` max  **)**
+
+.. _class_Curve_set_min_value:
+
+- void  **set_min_value**  **(** :ref:`float<class_float>` min  **)**
+
+.. _class_Curve_set_point_left_mode:
+
+- void  **set_point_left_mode**  **(** :ref:`int<class_int>` index, :ref:`int<class_int>` mode  **)**
+
+.. _class_Curve_set_point_left_tangent:
+
+- void  **set_point_left_tangent**  **(** :ref:`int<class_int>` index, :ref:`float<class_float>` tangent  **)**
+
+.. _class_Curve_set_point_offset:
+
+- void  **set_point_offset**  **(** :ref:`int<class_int>` index, :ref:`float<class_float>` offset  **)**
+
+.. _class_Curve_set_point_right_mode:
+
+- void  **set_point_right_mode**  **(** :ref:`int<class_int>` index, :ref:`int<class_int>` mode  **)**
+
+.. _class_Curve_set_point_right_tangent:
+
+- void  **set_point_right_tangent**  **(** :ref:`int<class_int>` index, :ref:`float<class_float>` tangent  **)**
+
+.. _class_Curve_set_point_value:
+
+- void  **set_point_value**  **(** :ref:`int<class_int>` index, :ref:`float<class_float>` y  **)**
+
+

+ 1 - 1
classes/class_curve3d.rst

@@ -112,7 +112,7 @@ Returns the cache of points as a :ref:`PoolVector3Array<class_poolvector3array>`
 
 
 - :ref:`PoolRealArray<class_poolrealarray>`  **get_baked_tilts**  **(** **)** const
 - :ref:`PoolRealArray<class_poolrealarray>`  **get_baked_tilts**  **(** **)** const
 
 
-Returns the cache of tilts as a :ref:`RealArray<class_realarray>`.
+Returns the cache of tilts as a RealArray.
 
 
 .. _class_Curve3D_get_point_count:
 .. _class_Curve3D_get_point_count:
 
 

+ 12 - 38
classes/class_curvetexture.rst

@@ -18,56 +18,30 @@ Brief Description
 Member Functions
 Member Functions
 ----------------
 ----------------
 
 
-+--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`                        | :ref:`get_max<class_CurveTexture_get_max>`  **(** **)** const                                                         |
-+--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`                        | :ref:`get_min<class_CurveTexture_get_min>`  **(** **)** const                                                         |
-+--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------+
-| :ref:`PoolVector2Array<class_poolvector2array>`  | :ref:`get_points<class_CurveTexture_get_points>`  **(** **)** const                                                   |
-+--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------+
-| void                                             | :ref:`set_max<class_CurveTexture_set_max>`  **(** :ref:`float<class_float>` max  **)**                                |
-+--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------+
-| void                                             | :ref:`set_min<class_CurveTexture_set_min>`  **(** :ref:`float<class_float>` min  **)**                                |
-+--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------+
-| void                                             | :ref:`set_points<class_CurveTexture_set_points>`  **(** :ref:`PoolVector2Array<class_poolvector2array>` points  **)** |
-+--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------+
-| void                                             | :ref:`set_width<class_CurveTexture_set_width>`  **(** :ref:`int<class_int>` width  **)**                              |
-+--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------+
++----------------------------+----------------------------------------------------------------------------------------------+
+| :ref:`Curve<class_curve>`  | :ref:`get_curve<class_CurveTexture_get_curve>`  **(** **)** const                            |
++----------------------------+----------------------------------------------------------------------------------------------+
+| void                       | :ref:`set_curve<class_CurveTexture_set_curve>`  **(** :ref:`Curve<class_curve>` curve  **)** |
++----------------------------+----------------------------------------------------------------------------------------------+
+| void                       | :ref:`set_width<class_CurveTexture_set_width>`  **(** :ref:`int<class_int>` width  **)**     |
++----------------------------+----------------------------------------------------------------------------------------------+
 
 
 Member Variables
 Member Variables
 ----------------
 ----------------
 
 
-- :ref:`float<class_float>` **max**
-- :ref:`float<class_float>` **min**
-- :ref:`PoolVector2Array<class_poolvector2array>` **points**
+- :ref:`Curve<class_curve>` **curve**
 - :ref:`int<class_int>` **width**
 - :ref:`int<class_int>` **width**
 
 
 Member Function Description
 Member Function Description
 ---------------------------
 ---------------------------
 
 
-.. _class_CurveTexture_get_max:
+.. _class_CurveTexture_get_curve:
 
 
-- :ref:`float<class_float>`  **get_max**  **(** **)** const
+- :ref:`Curve<class_curve>`  **get_curve**  **(** **)** const
 
 
-.. _class_CurveTexture_get_min:
+.. _class_CurveTexture_set_curve:
 
 
-- :ref:`float<class_float>`  **get_min**  **(** **)** const
-
-.. _class_CurveTexture_get_points:
-
-- :ref:`PoolVector2Array<class_poolvector2array>`  **get_points**  **(** **)** const
-
-.. _class_CurveTexture_set_max:
-
-- void  **set_max**  **(** :ref:`float<class_float>` max  **)**
-
-.. _class_CurveTexture_set_min:
-
-- void  **set_min**  **(** :ref:`float<class_float>` min  **)**
-
-.. _class_CurveTexture_set_points:
-
-- void  **set_points**  **(** :ref:`PoolVector2Array<class_poolvector2array>` points  **)**
+- void  **set_curve**  **(** :ref:`Curve<class_curve>` curve  **)**
 
 
 .. _class_CurveTexture_set_width:
 .. _class_CurveTexture_set_width:
 
 

+ 67 - 0
classes/class_editorplugin.rst

@@ -53,14 +53,20 @@ Member Functions
 +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`EditorSettings<class_editorsettings>`                | :ref:`get_editor_settings<class_EditorPlugin_get_editor_settings>`  **(** **)**                                                                                                                                     |
 | :ref:`EditorSettings<class_editorsettings>`                | :ref:`get_editor_settings<class_EditorPlugin_get_editor_settings>`  **(** **)**                                                                                                                                     |
 +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Node<class_node>`                                    | :ref:`get_edited_scene_root<class_EditorPlugin_get_edited_scene_root>`  **(** **)**                                                                                                                                 |
++------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`Control<class_control>`                              | :ref:`get_editor_viewport<class_EditorPlugin_get_editor_viewport>`  **(** **)**                                                                                                                                     |
 | :ref:`Control<class_control>`                              | :ref:`get_editor_viewport<class_EditorPlugin_get_editor_viewport>`  **(** **)**                                                                                                                                     |
 +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`String<class_string>`                                | :ref:`get_name<class_EditorPlugin_get_name>`  **(** **)** virtual                                                                                                                                                   |
 | :ref:`String<class_string>`                                | :ref:`get_name<class_EditorPlugin_get_name>`  **(** **)** virtual                                                                                                                                                   |
 +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Array<class_array>`                                  | :ref:`get_open_scenes<class_EditorPlugin_get_open_scenes>`  **(** **)**                                                                                                                                             |
++------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`EditorFileSystem<class_editorfilesystem>`            | :ref:`get_resource_filesystem<class_EditorPlugin_get_resource_filesystem>`  **(** **)**                                                                                                                             |
 | :ref:`EditorFileSystem<class_editorfilesystem>`            | :ref:`get_resource_filesystem<class_EditorPlugin_get_resource_filesystem>`  **(** **)**                                                                                                                             |
 +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`EditorResourcePreview<class_editorresourcepreview>`  | :ref:`get_resource_previewer<class_EditorPlugin_get_resource_previewer>`  **(** **)**                                                                                                                               |
 | :ref:`EditorResourcePreview<class_editorresourcepreview>`  | :ref:`get_resource_previewer<class_EditorPlugin_get_resource_previewer>`  **(** **)**                                                                                                                               |
 +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`ScriptEditor<class_scripteditor>`                    | :ref:`get_script_editor<class_EditorPlugin_get_script_editor>`  **(** **)**                                                                                                                                         |
++------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`EditorSelection<class_editorselection>`              | :ref:`get_selection<class_EditorPlugin_get_selection>`  **(** **)**                                                                                                                                                 |
 | :ref:`EditorSelection<class_editorselection>`              | :ref:`get_selection<class_EditorPlugin_get_selection>`  **(** **)**                                                                                                                                                 |
 +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`Dictionary<class_dictionary>`                        | :ref:`get_state<class_EditorPlugin_get_state>`  **(** **)** virtual                                                                                                                                                 |
 | :ref:`Dictionary<class_dictionary>`                        | :ref:`get_state<class_EditorPlugin_get_state>`  **(** **)** virtual                                                                                                                                                 |
@@ -81,8 +87,12 @@ Member Functions
 +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                                       | :ref:`make_visible<class_EditorPlugin_make_visible>`  **(** :ref:`bool<class_bool>` visible  **)** virtual                                                                                                          |
 | void                                                       | :ref:`make_visible<class_EditorPlugin_make_visible>`  **(** :ref:`bool<class_bool>` visible  **)** virtual                                                                                                          |
 +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                                       | :ref:`open_scene_from_path<class_EditorPlugin_open_scene_from_path>`  **(** :ref:`String<class_string>` scene_filepath  **)**                                                                                       |
++------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                                       | :ref:`queue_save_layout<class_EditorPlugin_queue_save_layout>`  **(** **)** const                                                                                                                                   |
 | void                                                       | :ref:`queue_save_layout<class_EditorPlugin_queue_save_layout>`  **(** **)** const                                                                                                                                   |
 +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                                       | :ref:`reload_scene_from_path<class_EditorPlugin_reload_scene_from_path>`  **(** :ref:`String<class_string>` scene_filepath  **)**                                                                                   |
++------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                                       | :ref:`remove_control_from_bottom_panel<class_EditorPlugin_remove_control_from_bottom_panel>`  **(** :ref:`Control<class_control>` control  **)**                                                                    |
 | 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_control_from_docks<class_EditorPlugin_remove_control_from_docks>`  **(** :ref:`Control<class_control>` control  **)**                                                                                  |
@@ -93,6 +103,8 @@ Member Functions
 +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                                       | :ref:`save_external_data<class_EditorPlugin_save_external_data>`  **(** **)** virtual                                                                                                                               |
 | void                                                       | :ref:`save_external_data<class_EditorPlugin_save_external_data>`  **(** **)** virtual                                                                                                                               |
 +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                                       | :ref:`set_input_event_forwarding_always_enabled<class_EditorPlugin_set_input_event_forwarding_always_enabled>`  **(** **)**                                                                                         |
++------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                                       | :ref:`set_state<class_EditorPlugin_set_state>`  **(** :ref:`Dictionary<class_dictionary>` state  **)** virtual                                                                                                      |
 | void                                                       | :ref:`set_state<class_EditorPlugin_set_state>`  **(** :ref:`Dictionary<class_dictionary>` state  **)** virtual                                                                                                      |
 +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                                       | :ref:`set_window_layout<class_EditorPlugin_set_window_layout>`  **(** :ref:`ConfigFile<class_configfile>` layout  **)** virtual                                                                                     |
 | void                                                       | :ref:`set_window_layout<class_EditorPlugin_set_window_layout>`  **(** :ref:`ConfigFile<class_configfile>` layout  **)** virtual                                                                                     |
@@ -100,6 +112,19 @@ Member Functions
 | void                                                       | :ref:`update_canvas<class_EditorPlugin_update_canvas>`  **(** **)**                                                                                                                                                 |
 | void                                                       | :ref:`update_canvas<class_EditorPlugin_update_canvas>`  **(** **)**                                                                                                                                                 |
 +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 
 
+Signals
+-------
+
+-  **main_screen_changed**  **(** :ref:`String<class_string>` screen_name  **)**
+Emitted when user change main screen view (2D, 3D, Script, AssetLib). Works also with screens which are defined by plugins.
+
+-  **scene_changed**  **(** :ref:`Node<class_node>` scene_root  **)**
+Emitted when user change scene. The argument is a root node of freshly opened scene.
+
+-  **scene_closed**  **(** :ref:`String<class_string>` filepath  **)**
+Emitted when user close scene. The argument is file path to a closed scene.
+
+
 Numeric Constants
 Numeric Constants
 -----------------
 -----------------
 
 
@@ -218,6 +243,10 @@ This function is called every time the 2D canvas editor draws (which overlays ov
 
 
 - :ref:`bool<class_bool>`  **forward_spatial_gui_input**  **(** :ref:`Camera<class_camera>` camera, :ref:`InputEvent<class_inputevent>` event  **)** virtual
 - :ref:`bool<class_bool>`  **forward_spatial_gui_input**  **(** :ref:`Camera<class_camera>` camera, :ref:`InputEvent<class_inputevent>` event  **)** virtual
 
 
+Implement this function if you are interested in 3D view screen input events. It will be called only if currently selected node is handled by your plugin.
+
+If you would like to always gets those input events then additionally use :ref:`set_input_forwarding_always_enabled<class_EditorPlugin_set_input_forwarding_always_enabled>`.
+
 .. _class_EditorPlugin_get_base_control:
 .. _class_EditorPlugin_get_base_control:
 
 
 - :ref:`Control<class_control>`  **get_base_control**  **(** **)**
 - :ref:`Control<class_control>`  **get_base_control**  **(** **)**
@@ -236,6 +265,12 @@ This is for editors that edit script based objects. You can return a list of bre
 
 
 Get the general settings for the editor (the same window that appears in the Settings menu).
 Get the general settings for the editor (the same window that appears in the Settings menu).
 
 
+.. _class_EditorPlugin_get_edited_scene_root:
+
+- :ref:`Node<class_node>`  **get_edited_scene_root**  **(** **)**
+
+Returns root node of currently edited scene.
+
 .. _class_EditorPlugin_get_editor_viewport:
 .. _class_EditorPlugin_get_editor_viewport:
 
 
 - :ref:`Control<class_control>`  **get_editor_viewport**  **(** **)**
 - :ref:`Control<class_control>`  **get_editor_viewport**  **(** **)**
@@ -248,6 +283,12 @@ Get the main editor control. Use this as a parent for main screens.
 
 
 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).
 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_open_scenes:
+
+- :ref:`Array<class_array>`  **get_open_scenes**  **(** **)**
+
+Will return an Array of Strings which represent file paths to currently open scenes.
+
 .. _class_EditorPlugin_get_resource_filesystem:
 .. _class_EditorPlugin_get_resource_filesystem:
 
 
 - :ref:`EditorFileSystem<class_editorfilesystem>`  **get_resource_filesystem**  **(** **)**
 - :ref:`EditorFileSystem<class_editorfilesystem>`  **get_resource_filesystem**  **(** **)**
@@ -260,6 +301,12 @@ Get the filesystem cache for all resources in the project.
 
 
 Get tool for generating resource previews.
 Get tool for generating resource previews.
 
 
+.. _class_EditorPlugin_get_script_editor:
+
+- :ref:`ScriptEditor<class_scripteditor>`  **get_script_editor**  **(** **)**
+
+Will return ScriptEditor object which contains informations about state of the scripts which are currently open by the editor.
+
 .. _class_EditorPlugin_get_selection:
 .. _class_EditorPlugin_get_selection:
 
 
 - :ref:`EditorSelection<class_editorselection>`  **get_selection**  **(** **)**
 - :ref:`EditorSelection<class_editorselection>`  **get_selection**  **(** **)**
@@ -318,12 +365,24 @@ This function will be called when the editor is requested to become visible. It
 
 
 Remember that you have to manage the visibility of all your editor controls manually.
 Remember that you have to manage the visibility of all your editor controls manually.
 
 
+.. _class_EditorPlugin_open_scene_from_path:
+
+- void  **open_scene_from_path**  **(** :ref:`String<class_string>` scene_filepath  **)**
+
+Opens scene in editor. Do not use during plugin initialization. If you need, then use it together with :ref:`Object.call_deferred<class_Object_call_deferred>`.
+
 .. _class_EditorPlugin_queue_save_layout:
 .. _class_EditorPlugin_queue_save_layout:
 
 
 - void  **queue_save_layout**  **(** **)** const
 - void  **queue_save_layout**  **(** **)** const
 
 
 Queue save the project's editor layout.
 Queue save the project's editor layout.
 
 
+.. _class_EditorPlugin_reload_scene_from_path:
+
+- void  **reload_scene_from_path**  **(** :ref:`String<class_string>` scene_filepath  **)**
+
+Reloads already loaded editor scene.
+
 .. _class_EditorPlugin_remove_control_from_bottom_panel:
 .. _class_EditorPlugin_remove_control_from_bottom_panel:
 
 
 - void  **remove_control_from_bottom_panel**  **(** :ref:`Control<class_control>` control  **)**
 - void  **remove_control_from_bottom_panel**  **(** :ref:`Control<class_control>` control  **)**
@@ -352,6 +411,12 @@ Remove a custom type added by :ref:`EditorPlugin.add_custom_type<class_EditorPlu
 
 
 This method is called after the editor saves the project or when it's closed. It asks the plugin to save edited external scenes/resources.
 This method is called after the editor saves the project or when it's closed. It asks the plugin to save edited external scenes/resources.
 
 
+.. _class_EditorPlugin_set_input_event_forwarding_always_enabled:
+
+- void  **set_input_event_forwarding_always_enabled**  **(** **)**
+
+Use this method if you always want to receive inputs from 3D view screen inside :ref:`forward_spatial_gui_input<class_EditorPlugin_forward_spatial_gui_input>`. It might be especially usable if your plugin will want to use raycast in the scene.
+
 .. _class_EditorPlugin_set_state:
 .. _class_EditorPlugin_set_state:
 
 
 - void  **set_state**  **(** :ref:`Dictionary<class_dictionary>` state  **)** virtual
 - void  **set_state**  **(** :ref:`Dictionary<class_dictionary>` state  **)** virtual
@@ -369,3 +434,5 @@ Restore the plugin GUI layout saved by :ref:`EditorPlugin.get_window_layout<clas
 - void  **update_canvas**  **(** **)**
 - void  **update_canvas**  **(** **)**
 
 
 Updates the control used to draw the edited scene over the 2D canvas. This is used together with :ref:`forward_canvas_input_event<class_EditorPlugin_forward_canvas_input_event>`.
 Updates the control used to draw the edited scene over the 2D canvas. This is used together with :ref:`forward_canvas_input_event<class_EditorPlugin_forward_canvas_input_event>`.
+
+

+ 9 - 9
classes/class_environment.rst

@@ -81,7 +81,7 @@ Member Functions
 +--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`float<class_float>`      | :ref:`get_glow_hdr_bleed_scale<class_Environment_get_glow_hdr_bleed_scale>`  **(** **)** const                                                       |
 | :ref:`float<class_float>`      | :ref:`get_glow_hdr_bleed_scale<class_Environment_get_glow_hdr_bleed_scale>`  **(** **)** const                                                       |
 +--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`      | :ref:`get_glow_hdr_bleed_treshold<class_Environment_get_glow_hdr_bleed_treshold>`  **(** **)** const                                                 |
+| :ref:`float<class_float>`      | :ref:`get_glow_hdr_bleed_threshold<class_Environment_get_glow_hdr_bleed_threshold>`  **(** **)** const                                               |
 +--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`float<class_float>`      | :ref:`get_glow_intensity<class_Environment_get_glow_intensity>`  **(** **)** const                                                                   |
 | :ref:`float<class_float>`      | :ref:`get_glow_intensity<class_Environment_get_glow_intensity>`  **(** **)** const                                                                   |
 +--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
@@ -237,7 +237,7 @@ Member Functions
 +--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                           | :ref:`set_glow_hdr_bleed_scale<class_Environment_set_glow_hdr_bleed_scale>`  **(** :ref:`float<class_float>` scale  **)**                            |
 | void                           | :ref:`set_glow_hdr_bleed_scale<class_Environment_set_glow_hdr_bleed_scale>`  **(** :ref:`float<class_float>` scale  **)**                            |
 +--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                           | :ref:`set_glow_hdr_bleed_treshold<class_Environment_set_glow_hdr_bleed_treshold>`  **(** :ref:`float<class_float>` treshold  **)**                   |
+| void                           | :ref:`set_glow_hdr_bleed_threshold<class_Environment_set_glow_hdr_bleed_threshold>`  **(** :ref:`float<class_float>` threshold  **)**                |
 +--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                           | :ref:`set_glow_intensity<class_Environment_set_glow_intensity>`  **(** :ref:`float<class_float>` intensity  **)**                                    |
 | void                           | :ref:`set_glow_intensity<class_Environment_set_glow_intensity>`  **(** :ref:`float<class_float>` intensity  **)**                                    |
 +--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
@@ -245,7 +245,7 @@ Member Functions
 +--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                           | :ref:`set_glow_strength<class_Environment_set_glow_strength>`  **(** :ref:`float<class_float>` strength  **)**                                       |
 | void                           | :ref:`set_glow_strength<class_Environment_set_glow_strength>`  **(** :ref:`float<class_float>` strength  **)**                                       |
 +--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                           | :ref:`set_sky<class_Environment_set_sky>`  **(** :ref:`CubeMap<class_cubemap>` sky  **)**                                                            |
+| void                           | :ref:`set_sky<class_Environment_set_sky>`  **(** :ref:`Sky<class_sky>` sky  **)**                                                                    |
 +--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                           | :ref:`set_sky_scale<class_Environment_set_sky_scale>`  **(** :ref:`float<class_float>` scale  **)**                                                  |
 | void                           | :ref:`set_sky_scale<class_Environment_set_sky_scale>`  **(** :ref:`float<class_float>` scale  **)**                                                  |
 +--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
@@ -346,7 +346,7 @@ Member Variables
 - :ref:`float<class_float>` **glow_bloom**
 - :ref:`float<class_float>` **glow_bloom**
 - :ref:`bool<class_bool>` **glow_enabled**
 - :ref:`bool<class_bool>` **glow_enabled**
 - :ref:`float<class_float>` **glow_hdr_scale**
 - :ref:`float<class_float>` **glow_hdr_scale**
-- :ref:`float<class_float>` **glow_hdr_treshold**
+- :ref:`float<class_float>` **glow_hdr_threshold**
 - :ref:`float<class_float>` **glow_intensity**
 - :ref:`float<class_float>` **glow_intensity**
 - :ref:`bool<class_bool>` **glow_levels/1**
 - :ref:`bool<class_bool>` **glow_levels/1**
 - :ref:`bool<class_bool>` **glow_levels/2**
 - :ref:`bool<class_bool>` **glow_levels/2**
@@ -523,9 +523,9 @@ Member Function Description
 
 
 - :ref:`float<class_float>`  **get_glow_hdr_bleed_scale**  **(** **)** const
 - :ref:`float<class_float>`  **get_glow_hdr_bleed_scale**  **(** **)** const
 
 
-.. _class_Environment_get_glow_hdr_bleed_treshold:
+.. _class_Environment_get_glow_hdr_bleed_threshold:
 
 
-- :ref:`float<class_float>`  **get_glow_hdr_bleed_treshold**  **(** **)** const
+- :ref:`float<class_float>`  **get_glow_hdr_bleed_threshold**  **(** **)** const
 
 
 .. _class_Environment_get_glow_intensity:
 .. _class_Environment_get_glow_intensity:
 
 
@@ -835,9 +835,9 @@ Member Function Description
 
 
 - void  **set_glow_hdr_bleed_scale**  **(** :ref:`float<class_float>` scale  **)**
 - void  **set_glow_hdr_bleed_scale**  **(** :ref:`float<class_float>` scale  **)**
 
 
-.. _class_Environment_set_glow_hdr_bleed_treshold:
+.. _class_Environment_set_glow_hdr_bleed_threshold:
 
 
-- void  **set_glow_hdr_bleed_treshold**  **(** :ref:`float<class_float>` treshold  **)**
+- void  **set_glow_hdr_bleed_threshold**  **(** :ref:`float<class_float>` threshold  **)**
 
 
 .. _class_Environment_set_glow_intensity:
 .. _class_Environment_set_glow_intensity:
 
 
@@ -853,7 +853,7 @@ Member Function Description
 
 
 .. _class_Environment_set_sky:
 .. _class_Environment_set_sky:
 
 
-- void  **set_sky**  **(** :ref:`CubeMap<class_cubemap>` sky  **)**
+- void  **set_sky**  **(** :ref:`Sky<class_sky>` sky  **)**
 
 
 .. _class_Environment_set_sky_scale:
 .. _class_Environment_set_sky_scale:
 
 

+ 12 - 0
classes/class_file.rst

@@ -69,6 +69,8 @@ Member Functions
 +------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`int<class_int>`                          | :ref:`open<class_File_open>`  **(** :ref:`String<class_string>` path, :ref:`int<class_int>` flags  **)**                                                                                |
 | :ref:`int<class_int>`                          | :ref:`open<class_File_open>`  **(** :ref:`String<class_string>` path, :ref:`int<class_int>` flags  **)**                                                                                |
 +------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                          | :ref:`open_compressed<class_File_open_compressed>`  **(** :ref:`String<class_string>` path, :ref:`int<class_int>` mode_flags, :ref:`int<class_int>` compression_mode=0  **)**           |
++------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`int<class_int>`                          | :ref:`open_encrypted<class_File_open_encrypted>`  **(** :ref:`String<class_string>` path, :ref:`int<class_int>` mode_flags, :ref:`PoolByteArray<class_poolbytearray>` key  **)**        |
 | :ref:`int<class_int>`                          | :ref:`open_encrypted<class_File_open_encrypted>`  **(** :ref:`String<class_string>` path, :ref:`int<class_int>` mode_flags, :ref:`PoolByteArray<class_poolbytearray>` key  **)**        |
 +------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`int<class_int>`                          | :ref:`open_encrypted_with_pass<class_File_open_encrypted_with_pass>`  **(** :ref:`String<class_string>` path, :ref:`int<class_int>` mode_flags, :ref:`String<class_string>` pass  **)** |
 | :ref:`int<class_int>`                          | :ref:`open_encrypted_with_pass<class_File_open_encrypted_with_pass>`  **(** :ref:`String<class_string>` path, :ref:`int<class_int>` mode_flags, :ref:`String<class_string>` pass  **)** |
@@ -111,6 +113,10 @@ Numeric Constants
 - **WRITE** = **2** --- Open the file for writing. Create it if the file not exists and truncate if it exists.
 - **WRITE** = **2** --- Open the file for writing. Create it if the file not exists and truncate if it exists.
 - **READ_WRITE** = **3** --- Open the file for reading and writing, without truncating the file.
 - **READ_WRITE** = **3** --- Open the file for reading and writing, without truncating the file.
 - **WRITE_READ** = **7** --- Open the file for reading and writing. Create it if the file not exists and truncate if it exists.
 - **WRITE_READ** = **7** --- Open the file for reading and writing. Create it if the file not exists and truncate if it exists.
+- **COMPRESSION_FASTLZ** = **0** --- Use the FastLZ compression method.
+- **COMPRESSION_DEFLATE** = **1** --- Use the Deflate compression method.
+- **COMPRESSION_ZSTD** = **2** --- Use the Zstd compression method.
+- **COMPRESSION_GZIP** = **3**
 
 
 Description
 Description
 -----------
 -----------
@@ -285,6 +291,12 @@ Return whether the file is currently opened.
 
 
 Open the file for writing or reading, depending on the flags.
 Open the file for writing or reading, depending on the flags.
 
 
+.. _class_File_open_compressed:
+
+- :ref:`int<class_int>`  **open_compressed**  **(** :ref:`String<class_string>` path, :ref:`int<class_int>` mode_flags, :ref:`int<class_int>` compression_mode=0  **)**
+
+Open a compressed file for reading or writing. The compression_mode can be set as one of the COMPRESSION\_\* constants.
+
 .. _class_File_open_encrypted:
 .. _class_File_open_encrypted:
 
 
 - :ref:`int<class_int>`  **open_encrypted**  **(** :ref:`String<class_string>` path, :ref:`int<class_int>` mode_flags, :ref:`PoolByteArray<class_poolbytearray>` key  **)**
 - :ref:`int<class_int>`  **open_encrypted**  **(** :ref:`String<class_string>` path, :ref:`int<class_int>` mode_flags, :ref:`PoolByteArray<class_poolbytearray>` key  **)**

+ 1 - 1
classes/class_filedialog.rst

@@ -165,7 +165,7 @@ Return true if the diaog allows show hidden files.
 
 
 - void  **set_access**  **(** :ref:`int<class_int>` access  **)**
 - void  **set_access**  **(** :ref:`int<class_int>` access  **)**
 
 
-Set the file access permission of the dialog(Must be one of :ref:`ACCESS_RESOURCES<class_access_resources>`, :ref:`ACCESS_USERDATA<class_access_userdata>` or :ref:`ACCESS_FILESYSTEM<class_access_filesystem>`).
+Set the file access permission of the dialog(Must be one of ACCESS_RESOURCES, ACCESS_USERDATA or ACCESS_FILESYSTEM).
 
 
 .. _class_FileDialog_set_current_dir:
 .. _class_FileDialog_set_current_dir:
 
 

+ 5 - 0
classes/class_gdfunctionstate.rst

@@ -24,6 +24,11 @@ Member Functions
 | :ref:`Variant<class_variant>`  | :ref:`resume<class_GDFunctionState_resume>`  **(** :ref:`Variant<class_variant>` arg=NULL  **)**                 |
 | :ref:`Variant<class_variant>`  | :ref:`resume<class_GDFunctionState_resume>`  **(** :ref:`Variant<class_variant>` arg=NULL  **)**                 |
 +--------------------------------+------------------------------------------------------------------------------------------------------------------+
 +--------------------------------+------------------------------------------------------------------------------------------------------------------+
 
 
+Signals
+-------
+
+-  **completed**  **(** :ref:`Nil<class_nil>` result  **)**
+
 Description
 Description
 -----------
 -----------
 
 

+ 1 - 1
classes/class_geometryinstance.rst

@@ -63,7 +63,7 @@ Member Variables
 - :ref:`int<class_int>` **lod_max_hysteresis**
 - :ref:`int<class_int>` **lod_max_hysteresis**
 - :ref:`int<class_int>` **lod_min_distance**
 - :ref:`int<class_int>` **lod_min_distance**
 - :ref:`int<class_int>` **lod_min_hysteresis**
 - :ref:`int<class_int>` **lod_min_hysteresis**
-- :ref:`Material<class_material>` **material_override**
+- ShaderMaterial,SpatialMaterial **material_override**
 - :ref:`bool<class_bool>` **use_in_baked_light**
 - :ref:`bool<class_bool>` **use_in_baked_light**
 - :ref:`bool<class_bool>` **visible_in_all_rooms**
 - :ref:`bool<class_bool>` **visible_in_all_rooms**
 
 

+ 13 - 0
classes/class_giprobe.rst

@@ -31,6 +31,8 @@ Member Functions
 +--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`Vector3<class_vector3>`  | :ref:`get_extents<class_GIProbe_get_extents>`  **(** **)** const                                                                            |
 | :ref:`Vector3<class_vector3>`  | :ref:`get_extents<class_GIProbe_get_extents>`  **(** **)** const                                                                            |
 +--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`      | :ref:`get_normal_bias<class_GIProbe_get_normal_bias>`  **(** **)** const                                                                    |
++--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`Object<class_object>`    | :ref:`get_probe_data<class_GIProbe_get_probe_data>`  **(** **)** const                                                                      |
 | :ref:`Object<class_object>`    | :ref:`get_probe_data<class_GIProbe_get_probe_data>`  **(** **)** const                                                                      |
 +--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`float<class_float>`      | :ref:`get_propagation<class_GIProbe_get_propagation>`  **(** **)** const                                                                    |
 | :ref:`float<class_float>`      | :ref:`get_propagation<class_GIProbe_get_propagation>`  **(** **)** const                                                                    |
@@ -53,6 +55,8 @@ Member Functions
 +--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
 | void                           | :ref:`set_interior<class_GIProbe_set_interior>`  **(** :ref:`bool<class_bool>` enable  **)**                                                |
 | void                           | :ref:`set_interior<class_GIProbe_set_interior>`  **(** :ref:`bool<class_bool>` enable  **)**                                                |
 +--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
+| void                           | :ref:`set_normal_bias<class_GIProbe_set_normal_bias>`  **(** :ref:`float<class_float>` max  **)**                                           |
++--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
 | void                           | :ref:`set_probe_data<class_GIProbe_set_probe_data>`  **(** :ref:`Object<class_object>` data  **)**                                          |
 | void                           | :ref:`set_probe_data<class_GIProbe_set_probe_data>`  **(** :ref:`Object<class_object>` data  **)**                                          |
 +--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
 | void                           | :ref:`set_propagation<class_GIProbe_set_propagation>`  **(** :ref:`float<class_float>` max  **)**                                           |
 | void                           | :ref:`set_propagation<class_GIProbe_set_propagation>`  **(** :ref:`float<class_float>` max  **)**                                           |
@@ -70,6 +74,7 @@ Member Variables
 - :ref:`float<class_float>` **energy**
 - :ref:`float<class_float>` **energy**
 - :ref:`Vector3<class_vector3>` **extents**
 - :ref:`Vector3<class_vector3>` **extents**
 - :ref:`bool<class_bool>` **interior**
 - :ref:`bool<class_bool>` **interior**
+- :ref:`float<class_float>` **normal_bias**
 - :ref:`float<class_float>` **propagation**
 - :ref:`float<class_float>` **propagation**
 - :ref:`int<class_int>` **subdiv**
 - :ref:`int<class_int>` **subdiv**
 
 
@@ -108,6 +113,10 @@ Member Function Description
 
 
 - :ref:`Vector3<class_vector3>`  **get_extents**  **(** **)** const
 - :ref:`Vector3<class_vector3>`  **get_extents**  **(** **)** const
 
 
+.. _class_GIProbe_get_normal_bias:
+
+- :ref:`float<class_float>`  **get_normal_bias**  **(** **)** const
+
 .. _class_GIProbe_get_probe_data:
 .. _class_GIProbe_get_probe_data:
 
 
 - :ref:`Object<class_object>`  **get_probe_data**  **(** **)** const
 - :ref:`Object<class_object>`  **get_probe_data**  **(** **)** const
@@ -152,6 +161,10 @@ Member Function Description
 
 
 - void  **set_interior**  **(** :ref:`bool<class_bool>` enable  **)**
 - void  **set_interior**  **(** :ref:`bool<class_bool>` enable  **)**
 
 
+.. _class_GIProbe_set_normal_bias:
+
+- void  **set_normal_bias**  **(** :ref:`float<class_float>` max  **)**
+
 .. _class_GIProbe_set_probe_data:
 .. _class_GIProbe_set_probe_data:
 
 
 - void  **set_probe_data**  **(** :ref:`Object<class_object>` data  **)**
 - void  **set_probe_data**  **(** :ref:`Object<class_object>` data  **)**

+ 13 - 0
classes/class_giprobedata.rst

@@ -31,6 +31,8 @@ Member Functions
 +------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------+
 +------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`float<class_float>`                | :ref:`get_energy<class_GIProbeData_get_energy>`  **(** **)** const                                                             |
 | :ref:`float<class_float>`                | :ref:`get_energy<class_GIProbeData_get_energy>`  **(** **)** const                                                             |
 +------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------+
 +------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`                | :ref:`get_normal_bias<class_GIProbeData_get_normal_bias>`  **(** **)** const                                                   |
++------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`float<class_float>`                | :ref:`get_propagation<class_GIProbeData_get_propagation>`  **(** **)** const                                                   |
 | :ref:`float<class_float>`                | :ref:`get_propagation<class_GIProbeData_get_propagation>`  **(** **)** const                                                   |
 +------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------+
 +------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`Transform<class_transform>`        | :ref:`get_to_cell_xform<class_GIProbeData_get_to_cell_xform>`  **(** **)** const                                               |
 | :ref:`Transform<class_transform>`        | :ref:`get_to_cell_xform<class_GIProbeData_get_to_cell_xform>`  **(** **)** const                                               |
@@ -55,6 +57,8 @@ Member Functions
 +------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------+
 +------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------+
 | void                                     | :ref:`set_interior<class_GIProbeData_set_interior>`  **(** :ref:`bool<class_bool>` interior  **)**                             |
 | void                                     | :ref:`set_interior<class_GIProbeData_set_interior>`  **(** :ref:`bool<class_bool>` interior  **)**                             |
 +------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------+
 +------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------+
+| void                                     | :ref:`set_normal_bias<class_GIProbeData_set_normal_bias>`  **(** :ref:`float<class_float>` bias  **)**                         |
++------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------+
 | void                                     | :ref:`set_propagation<class_GIProbeData_set_propagation>`  **(** :ref:`float<class_float>` propagation  **)**                  |
 | void                                     | :ref:`set_propagation<class_GIProbeData_set_propagation>`  **(** :ref:`float<class_float>` propagation  **)**                  |
 +------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------+
 +------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------+
 | void                                     | :ref:`set_to_cell_xform<class_GIProbeData_set_to_cell_xform>`  **(** :ref:`Transform<class_transform>` to_cell_xform  **)**    |
 | void                                     | :ref:`set_to_cell_xform<class_GIProbeData_set_to_cell_xform>`  **(** :ref:`Transform<class_transform>` to_cell_xform  **)**    |
@@ -71,6 +75,7 @@ Member Variables
 - :ref:`int<class_int>` **dynamic_range**
 - :ref:`int<class_int>` **dynamic_range**
 - :ref:`float<class_float>` **energy**
 - :ref:`float<class_float>` **energy**
 - :ref:`bool<class_bool>` **interior**
 - :ref:`bool<class_bool>` **interior**
+- :ref:`float<class_float>` **normal_bias**
 - :ref:`float<class_float>` **propagation**
 - :ref:`float<class_float>` **propagation**
 - :ref:`Transform<class_transform>` **to_cell_xform**
 - :ref:`Transform<class_transform>` **to_cell_xform**
 
 
@@ -101,6 +106,10 @@ Member Function Description
 
 
 - :ref:`float<class_float>`  **get_energy**  **(** **)** const
 - :ref:`float<class_float>`  **get_energy**  **(** **)** const
 
 
+.. _class_GIProbeData_get_normal_bias:
+
+- :ref:`float<class_float>`  **get_normal_bias**  **(** **)** const
+
 .. _class_GIProbeData_get_propagation:
 .. _class_GIProbeData_get_propagation:
 
 
 - :ref:`float<class_float>`  **get_propagation**  **(** **)** const
 - :ref:`float<class_float>`  **get_propagation**  **(** **)** const
@@ -149,6 +158,10 @@ Member Function Description
 
 
 - void  **set_interior**  **(** :ref:`bool<class_bool>` interior  **)**
 - void  **set_interior**  **(** :ref:`bool<class_bool>` interior  **)**
 
 
+.. _class_GIProbeData_set_normal_bias:
+
+- void  **set_normal_bias**  **(** :ref:`float<class_float>` bias  **)**
+
 .. _class_GIProbeData_set_propagation:
 .. _class_GIProbeData_set_propagation:
 
 
 - void  **set_propagation**  **(** :ref:`float<class_float>` propagation  **)**
 - void  **set_propagation**  **(** :ref:`float<class_float>` propagation  **)**

+ 0 - 150
classes/class_globalconfig.rst

@@ -1,150 +0,0 @@
-.. 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_GlobalConfig:
-
-GlobalConfig
-============
-
-**Inherits:** :ref:`Object<class_object>`
-
-**Category:** Core
-
-Brief Description
------------------
-
-Contains global variables accessible from everywhere.
-
-Member Functions
-----------------
-
-+------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                         | :ref:`add_property_info<class_GlobalConfig_add_property_info>`  **(** :ref:`Dictionary<class_dictionary>` hint  **)**                              |
-+------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                         | :ref:`clear<class_GlobalConfig_clear>`  **(** :ref:`String<class_string>` name  **)**                                                              |
-+------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`        | :ref:`get_order<class_GlobalConfig_get_order>`  **(** :ref:`String<class_string>` name  **)** const                                                |
-+------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Object<class_object>`  | :ref:`get_singleton<class_GlobalConfig_get_singleton>`  **(** :ref:`String<class_string>` name  **)** const                                        |
-+------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_string>`  | :ref:`globalize_path<class_GlobalConfig_globalize_path>`  **(** :ref:`String<class_string>` path  **)** const                                      |
-+------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`      | :ref:`has<class_GlobalConfig_has>`  **(** :ref:`String<class_string>` name  **)** const                                                            |
-+------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`      | :ref:`has_singleton<class_GlobalConfig_has_singleton>`  **(** :ref:`String<class_string>` name  **)** const                                        |
-+------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`      | :ref:`load_resource_pack<class_GlobalConfig_load_resource_pack>`  **(** :ref:`String<class_string>` pack  **)**                                    |
-+------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_string>`  | :ref:`localize_path<class_GlobalConfig_localize_path>`  **(** :ref:`String<class_string>` path  **)** const                                        |
-+------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`      | :ref:`property_can_revert<class_GlobalConfig_property_can_revert>`  **(** :ref:`String<class_string>` name  **)**                                  |
-+------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                         | :ref:`property_get_revert<class_GlobalConfig_property_get_revert>`  **(** :ref:`String<class_string>` name  **)**                                  |
-+------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`        | :ref:`save<class_GlobalConfig_save>`  **(** **)**                                                                                                  |
-+------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`        | :ref:`save_custom<class_GlobalConfig_save_custom>`  **(** :ref:`String<class_string>` file  **)**                                                  |
-+------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                         | :ref:`set_initial_value<class_GlobalConfig_set_initial_value>`  **(** :ref:`String<class_string>` name, :ref:`Variant<class_variant>` value  **)** |
-+------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                         | :ref:`set_order<class_GlobalConfig_set_order>`  **(** :ref:`String<class_string>` name, :ref:`int<class_int>` pos  **)**                           |
-+------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------+
-
-Description
------------
-
-Contains global variables accessible from everywhere. Use the normal :ref:`Object<class_object>` API, such as "Globals.get(variable)", "Globals.set(variable,value)" or "Globals.has(variable)" to access them. Variables stored in project.godot are also loaded into globals, making this object very useful for reading custom game configuration options.
-
-Member Function Description
----------------------------
-
-.. _class_GlobalConfig_add_property_info:
-
-- void  **add_property_info**  **(** :ref:`Dictionary<class_dictionary>` hint  **)**
-
-Add a custom property info to a property. The dictionary must contain: name::ref:`String<class_string>`(the name of the property) and type::ref:`int<class_int>`(see TYPE\_\* in :ref:`@Global Scope<class_@global scope>`), and optionally hint::ref:`int<class_int>`(see PROPERTY_HINT\_\* in :ref:`@Global Scope<class_@global scope>`), hint_string::ref:`String<class_string>`.
-
-Example:
-
-::
-
-    Globals.set("category/property_name", 0)
-    
-    var property_info = {
-        "name": "category/property_name",
-        "type": TYPE_INT,
-        "hint": PROPERTY_HINT_ENUM,
-        "hint_string": "one,two,three"
-    }
-    
-    Globals.add_property_info(property_info)
-
-.. _class_GlobalConfig_clear:
-
-- void  **clear**  **(** :ref:`String<class_string>` name  **)**
-
-Clear the whole configuration (not recommended, may break things).
-
-.. _class_GlobalConfig_get_order:
-
-- :ref:`int<class_int>`  **get_order**  **(** :ref:`String<class_string>` name  **)** const
-
-Return the order of a configuration value (influences when saved to the config file).
-
-.. _class_GlobalConfig_get_singleton:
-
-- :ref:`Object<class_object>`  **get_singleton**  **(** :ref:`String<class_string>` name  **)** const
-
-.. _class_GlobalConfig_globalize_path:
-
-- :ref:`String<class_string>`  **globalize_path**  **(** :ref:`String<class_string>` path  **)** const
-
-Convert a localized path (res://) to a full native OS path.
-
-.. _class_GlobalConfig_has:
-
-- :ref:`bool<class_bool>`  **has**  **(** :ref:`String<class_string>` name  **)** const
-
-Return true if a configuration value is present.
-
-.. _class_GlobalConfig_has_singleton:
-
-- :ref:`bool<class_bool>`  **has_singleton**  **(** :ref:`String<class_string>` name  **)** const
-
-.. _class_GlobalConfig_load_resource_pack:
-
-- :ref:`bool<class_bool>`  **load_resource_pack**  **(** :ref:`String<class_string>` pack  **)**
-
-.. _class_GlobalConfig_localize_path:
-
-- :ref:`String<class_string>`  **localize_path**  **(** :ref:`String<class_string>` path  **)** const
-
-Convert a path to a localized path (res:// path).
-
-.. _class_GlobalConfig_property_can_revert:
-
-- :ref:`bool<class_bool>`  **property_can_revert**  **(** :ref:`String<class_string>` name  **)**
-
-.. _class_GlobalConfig_property_get_revert:
-
-- void  **property_get_revert**  **(** :ref:`String<class_string>` name  **)**
-
-.. _class_GlobalConfig_save:
-
-- :ref:`int<class_int>`  **save**  **(** **)**
-
-.. _class_GlobalConfig_save_custom:
-
-- :ref:`int<class_int>`  **save_custom**  **(** :ref:`String<class_string>` file  **)**
-
-.. _class_GlobalConfig_set_initial_value:
-
-- void  **set_initial_value**  **(** :ref:`String<class_string>` name, :ref:`Variant<class_variant>` value  **)**
-
-.. _class_GlobalConfig_set_order:
-
-- void  **set_order**  **(** :ref:`String<class_string>` name, :ref:`int<class_int>` pos  **)**
-
-Set the order of a configuration value (influences when saved to the config file).
-
-

+ 12 - 73
classes/class_gradienttexture.rst

@@ -18,91 +18,30 @@ Brief Description
 Member Functions
 Member Functions
 ----------------
 ----------------
 
 
-+----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------+
-| void                                         | :ref:`add_point<class_GradientTexture_add_point>`  **(** :ref:`float<class_float>` offset, :ref:`Color<class_color>` color  **)** |
-+----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Color<class_color>`                    | :ref:`get_color<class_GradientTexture_get_color>`  **(** :ref:`int<class_int>` point  **)** const                                 |
-+----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`PoolColorArray<class_poolcolorarray>`  | :ref:`get_colors<class_GradientTexture_get_colors>`  **(** **)** const                                                            |
-+----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`                    | :ref:`get_offset<class_GradientTexture_get_offset>`  **(** :ref:`int<class_int>` point  **)** const                               |
-+----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`PoolRealArray<class_poolrealarray>`    | :ref:`get_offsets<class_GradientTexture_get_offsets>`  **(** **)** const                                                          |
-+----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                        | :ref:`get_point_count<class_GradientTexture_get_point_count>`  **(** **)** const                                                  |
-+----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Color<class_color>`                    | :ref:`interpolate<class_GradientTexture_interpolate>`  **(** :ref:`float<class_float>` offset  **)**                              |
-+----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------+
-| void                                         | :ref:`remove_point<class_GradientTexture_remove_point>`  **(** :ref:`int<class_int>` offset  **)**                                |
-+----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------+
-| void                                         | :ref:`set_color<class_GradientTexture_set_color>`  **(** :ref:`int<class_int>` point, :ref:`Color<class_color>` color  **)**      |
-+----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------+
-| void                                         | :ref:`set_colors<class_GradientTexture_set_colors>`  **(** :ref:`PoolColorArray<class_poolcolorarray>` colors  **)**              |
-+----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------+
-| void                                         | :ref:`set_offset<class_GradientTexture_set_offset>`  **(** :ref:`int<class_int>` point, :ref:`float<class_float>` offset  **)**   |
-+----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------+
-| void                                         | :ref:`set_offsets<class_GradientTexture_set_offsets>`  **(** :ref:`PoolRealArray<class_poolrealarray>` offsets  **)**             |
-+----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------+
-| void                                         | :ref:`set_width<class_GradientTexture_set_width>`  **(** :ref:`int<class_int>` width  **)**                                       |
-+----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------+
++----------------------------------+----------------------------------------------------------------------------------------------------------------+
+| :ref:`Gradient<class_gradient>`  | :ref:`get_gradient<class_GradientTexture_get_gradient>`  **(** **)** const                                     |
++----------------------------------+----------------------------------------------------------------------------------------------------------------+
+| void                             | :ref:`set_gradient<class_GradientTexture_set_gradient>`  **(** :ref:`Gradient<class_gradient>` gradient  **)** |
++----------------------------------+----------------------------------------------------------------------------------------------------------------+
+| void                             | :ref:`set_width<class_GradientTexture_set_width>`  **(** :ref:`int<class_int>` width  **)**                    |
++----------------------------------+----------------------------------------------------------------------------------------------------------------+
 
 
 Member Variables
 Member Variables
 ----------------
 ----------------
 
 
-- :ref:`float<class_float>` **colors**
-- :ref:`float<class_float>` **offsets**
+- :ref:`Gradient<class_gradient>` **gradient**
 - :ref:`int<class_int>` **width**
 - :ref:`int<class_int>` **width**
 
 
 Member Function Description
 Member Function Description
 ---------------------------
 ---------------------------
 
 
-.. _class_GradientTexture_add_point:
+.. _class_GradientTexture_get_gradient:
 
 
-- void  **add_point**  **(** :ref:`float<class_float>` offset, :ref:`Color<class_color>` color  **)**
+- :ref:`Gradient<class_gradient>`  **get_gradient**  **(** **)** const
 
 
-.. _class_GradientTexture_get_color:
+.. _class_GradientTexture_set_gradient:
 
 
-- :ref:`Color<class_color>`  **get_color**  **(** :ref:`int<class_int>` point  **)** const
-
-.. _class_GradientTexture_get_colors:
-
-- :ref:`PoolColorArray<class_poolcolorarray>`  **get_colors**  **(** **)** const
-
-.. _class_GradientTexture_get_offset:
-
-- :ref:`float<class_float>`  **get_offset**  **(** :ref:`int<class_int>` point  **)** const
-
-.. _class_GradientTexture_get_offsets:
-
-- :ref:`PoolRealArray<class_poolrealarray>`  **get_offsets**  **(** **)** const
-
-.. _class_GradientTexture_get_point_count:
-
-- :ref:`int<class_int>`  **get_point_count**  **(** **)** const
-
-.. _class_GradientTexture_interpolate:
-
-- :ref:`Color<class_color>`  **interpolate**  **(** :ref:`float<class_float>` offset  **)**
-
-.. _class_GradientTexture_remove_point:
-
-- void  **remove_point**  **(** :ref:`int<class_int>` offset  **)**
-
-.. _class_GradientTexture_set_color:
-
-- void  **set_color**  **(** :ref:`int<class_int>` point, :ref:`Color<class_color>` color  **)**
-
-.. _class_GradientTexture_set_colors:
-
-- void  **set_colors**  **(** :ref:`PoolColorArray<class_poolcolorarray>` colors  **)**
-
-.. _class_GradientTexture_set_offset:
-
-- void  **set_offset**  **(** :ref:`int<class_int>` point, :ref:`float<class_float>` offset  **)**
-
-.. _class_GradientTexture_set_offsets:
-
-- void  **set_offsets**  **(** :ref:`PoolRealArray<class_poolrealarray>` offsets  **)**
+- void  **set_gradient**  **(** :ref:`Gradient<class_gradient>` gradient  **)**
 
 
 .. _class_GradientTexture_set_width:
 .. _class_GradientTexture_set_width:
 
 

+ 1 - 1
classes/class_graphedit.rst

@@ -164,6 +164,6 @@ Enable the disconnection of existing connections in the visual GraphEdit by left
 
 
 - void  **set_zoom**  **(** :ref:`float<class_float>` p_zoom  **)**
 - void  **set_zoom**  **(** :ref:`float<class_float>` p_zoom  **)**
 
 
-Set the zoom value of the GraphEdit. Zoom value is between :ref:`0.01; 1.728<class_0.01; 1.728>`.
+Set the zoom value of the GraphEdit. Zoom value is between 0.01; 1.728.
 
 
 
 

+ 1 - 1
classes/class_httpclient.rst

@@ -256,7 +256,7 @@ To create a POST request with query strings to push to the server, do:
 
 
     var fields = {"username" : "user", "password" : "pass"}
     var fields = {"username" : "user", "password" : "pass"}
     var queryString = httpClient.query_string_from_dict(fields)
     var queryString = httpClient.query_string_from_dict(fields)
-    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 headers = ["Content-Type: application/x-www-form-urlencoded", "Content-Length: " + str(queryString.length())]
     var result = httpClient.request(httpClient.METHOD_POST, "index.php", headers, queryString)
     var result = httpClient.request(httpClient.METHOD_POST, "index.php", headers, queryString)
 
 
 .. _class_HTTPClient_request_raw:
 .. _class_HTTPClient_request_raw:

+ 40 - 8
classes/class_image.rst

@@ -18,9 +18,15 @@ Image datatype.
 Member Functions
 Member Functions
 ----------------
 ----------------
 
 
++--------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                       | :ref:`blend_rect<class_Image_blend_rect>`  **(** :ref:`Image<class_image>` src, :ref:`Rect2<class_rect2>` src_rect, :ref:`Vector2<class_vector2>` dst  **)**                                                                                     |
++--------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                       | :ref:`blend_rect_mask<class_Image_blend_rect_mask>`  **(** :ref:`Image<class_image>` src, :ref:`Image<class_image>` mask, :ref:`Rect2<class_rect2>` src_rect, :ref:`Vector2<class_vector2>` dst  **)**                                           |
 +--------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                       | :ref:`blit_rect<class_Image_blit_rect>`  **(** :ref:`Image<class_image>` src, :ref:`Rect2<class_rect2>` src_rect, :ref:`Vector2<class_vector2>` dst  **)**                                                                                       |
 | void                                       | :ref:`blit_rect<class_Image_blit_rect>`  **(** :ref:`Image<class_image>` src, :ref:`Rect2<class_rect2>` src_rect, :ref:`Vector2<class_vector2>` dst  **)**                                                                                       |
 +--------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                       | :ref:`blit_rect_mask<class_Image_blit_rect_mask>`  **(** :ref:`Image<class_image>` src, :ref:`Image<class_image>` mask, :ref:`Rect2<class_rect2>` src_rect, :ref:`Vector2<class_vector2>` dst  **)**                                             |
++--------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                       | :ref:`clear_mipmaps<class_Image_clear_mipmaps>`  **(** **)**                                                                                                                                                                                     |
 | void                                       | :ref:`clear_mipmaps<class_Image_clear_mipmaps>`  **(** **)**                                                                                                                                                                                     |
 +--------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`int<class_int>`                      | :ref:`compress<class_Image_compress>`  **(** :ref:`int<class_int>` mode, :ref:`int<class_int>` arg1, :ref:`float<class_float>` arg2  **)**                                                                                                       |
 | :ref:`int<class_int>`                      | :ref:`compress<class_Image_compress>`  **(** :ref:`int<class_int>` mode, :ref:`int<class_int>` arg1, :ref:`float<class_float>` arg2  **)**                                                                                                       |
@@ -41,6 +47,8 @@ Member Functions
 +--------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                       | :ref:`expand_x2_hq2x<class_Image_expand_x2_hq2x>`  **(** **)**                                                                                                                                                                                   |
 | void                                       | :ref:`expand_x2_hq2x<class_Image_expand_x2_hq2x>`  **(** **)**                                                                                                                                                                                   |
 +--------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                       | :ref:`fill<class_Image_fill>`  **(** :ref:`Color<class_color>` color  **)**                                                                                                                                                                      |
++--------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                       | :ref:`fix_alpha_edges<class_Image_fix_alpha_edges>`  **(** **)**                                                                                                                                                                                 |
 | void                                       | :ref:`fix_alpha_edges<class_Image_fix_alpha_edges>`  **(** **)**                                                                                                                                                                                 |
 +--------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                       | :ref:`flip_x<class_Image_flip_x>`  **(** **)**                                                                                                                                                                                                   |
 | void                                       | :ref:`flip_x<class_Image_flip_x>`  **(** **)**                                                                                                                                                                                                   |
@@ -81,14 +89,14 @@ Member Functions
 +--------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                       | :ref:`premultiply_alpha<class_Image_premultiply_alpha>`  **(** **)**                                                                                                                                                                             |
 | void                                       | :ref:`premultiply_alpha<class_Image_premultiply_alpha>`  **(** **)**                                                                                                                                                                             |
 +--------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                       | :ref:`put_pixel<class_Image_put_pixel>`  **(** :ref:`int<class_int>` x, :ref:`int<class_int>` y, :ref:`Color<class_color>` color  **)**                                                                                                          |
-+--------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                       | :ref:`resize<class_Image_resize>`  **(** :ref:`int<class_int>` width, :ref:`int<class_int>` height, :ref:`int<class_int>` interpolation=1  **)**                                                                                                 |
 | void                                       | :ref:`resize<class_Image_resize>`  **(** :ref:`int<class_int>` width, :ref:`int<class_int>` height, :ref:`int<class_int>` interpolation=1  **)**                                                                                                 |
 +--------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                       | :ref:`resize_to_po2<class_Image_resize_to_po2>`  **(** :ref:`bool<class_bool>` square="false"  **)**                                                                                                                                             |
+| void                                       | :ref:`resize_to_po2<class_Image_resize_to_po2>`  **(** :ref:`bool<class_bool>` square=false  **)**                                                                                                                                               |
 +--------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`int<class_int>`                      | :ref:`save_png<class_Image_save_png>`  **(** :ref:`String<class_string>` path  **)** const                                                                                                                                                       |
 | :ref:`int<class_int>`                      | :ref:`save_png<class_Image_save_png>`  **(** :ref:`String<class_string>` path  **)** const                                                                                                                                                       |
 +--------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                       | :ref:`set_pixel<class_Image_set_pixel>`  **(** :ref:`int<class_int>` x, :ref:`int<class_int>` y, :ref:`Color<class_color>` color  **)**                                                                                                          |
++--------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                       | :ref:`shrink_x2<class_Image_shrink_x2>`  **(** **)**                                                                                                                                                                                             |
 | void                                       | :ref:`shrink_x2<class_Image_shrink_x2>`  **(** **)**                                                                                                                                                                                             |
 +--------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                       | :ref:`srgb_to_linear<class_Image_srgb_to_linear>`  **(** **)**                                                                                                                                                                                   |
 | void                                       | :ref:`srgb_to_linear<class_Image_srgb_to_linear>`  **(** **)**                                                                                                                                                                                   |
@@ -165,12 +173,30 @@ Native image datatype. Contains image data, which can be converted to a texture,
 Member Function Description
 Member Function Description
 ---------------------------
 ---------------------------
 
 
+.. _class_Image_blend_rect:
+
+- void  **blend_rect**  **(** :ref:`Image<class_image>` src, :ref:`Rect2<class_rect2>` src_rect, :ref:`Vector2<class_vector2>` dst  **)**
+
+Alpha-blends a "src_rect" :ref:`Rect2<class_rect2>` from "src" :ref:`Image<class_image>` to this :ref:`Image<class_image>` on coordinates "dest".
+
+.. _class_Image_blend_rect_mask:
+
+- void  **blend_rect_mask**  **(** :ref:`Image<class_image>` src, :ref:`Image<class_image>` mask, :ref:`Rect2<class_rect2>` src_rect, :ref:`Vector2<class_vector2>` dst  **)**
+
+Alpha-blends a "src_rect" :ref:`Rect2<class_rect2>` from "src" :ref:`Image<class_image>` to this :ref:`Image<class_image>` using a "mask" :ref:`Image<class_image>` on coordinates "dest". Alpha channels are required for both "src" and "mask", dest pixels and src pixels will blend if the corresponding mask pixel's alpha value is not 0. "src" :ref:`Image<class_image>` and "mask" :ref:`Image<class_image>` \*must\* have the same size (width and height) but they can have different formats
+
 .. _class_Image_blit_rect:
 .. _class_Image_blit_rect:
 
 
 - void  **blit_rect**  **(** :ref:`Image<class_image>` src, :ref:`Rect2<class_rect2>` src_rect, :ref:`Vector2<class_vector2>` dst  **)**
 - void  **blit_rect**  **(** :ref:`Image<class_image>` src, :ref:`Rect2<class_rect2>` src_rect, :ref:`Vector2<class_vector2>` dst  **)**
 
 
 Copy a "src_rect" :ref:`Rect2<class_rect2>` from "src" :ref:`Image<class_image>` to this :ref:`Image<class_image>` on coordinates "dest".
 Copy a "src_rect" :ref:`Rect2<class_rect2>` from "src" :ref:`Image<class_image>` to this :ref:`Image<class_image>` on coordinates "dest".
 
 
+.. _class_Image_blit_rect_mask:
+
+- void  **blit_rect_mask**  **(** :ref:`Image<class_image>` src, :ref:`Image<class_image>` mask, :ref:`Rect2<class_rect2>` src_rect, :ref:`Vector2<class_vector2>` dst  **)**
+
+Blits a "src_rect" :ref:`Rect2<class_rect2>` from "src" :ref:`Image<class_image>` to this :ref:`Image<class_image>` using a "mask" :ref:`Image<class_image>` on coordinates "dest". Alpha channel is required for "mask", will copy src pixel onto dest if the corresponding mask pixel's alpha value is not 0. "src" :ref:`Image<class_image>` and "mask" :ref:`Image<class_image>` \*must\* have the same size (width and height) but they can have different formats
+
 .. _class_Image_clear_mipmaps:
 .. _class_Image_clear_mipmaps:
 
 
 - void  **clear_mipmaps**  **(** **)**
 - void  **clear_mipmaps**  **(** **)**
@@ -213,6 +239,12 @@ Create an empty image of a specific size and format.
 
 
 - void  **expand_x2_hq2x**  **(** **)**
 - void  **expand_x2_hq2x**  **(** **)**
 
 
+.. _class_Image_fill:
+
+- void  **fill**  **(** :ref:`Color<class_color>` color  **)**
+
+Fills an :ref:`Image<class_image>` with a specified :ref:`Color<class_color>`
+
 .. _class_Image_fix_alpha_edges:
 .. _class_Image_fix_alpha_edges:
 
 
 - void  **fix_alpha_edges**  **(** **)**
 - void  **fix_alpha_edges**  **(** **)**
@@ -307,17 +339,13 @@ Load an :ref:`Image<class_image>`.
 
 
 - void  **premultiply_alpha**  **(** **)**
 - void  **premultiply_alpha**  **(** **)**
 
 
-.. _class_Image_put_pixel:
-
-- void  **put_pixel**  **(** :ref:`int<class_int>` x, :ref:`int<class_int>` y, :ref:`Color<class_color>` color  **)**
-
 .. _class_Image_resize:
 .. _class_Image_resize:
 
 
 - void  **resize**  **(** :ref:`int<class_int>` width, :ref:`int<class_int>` height, :ref:`int<class_int>` interpolation=1  **)**
 - void  **resize**  **(** :ref:`int<class_int>` width, :ref:`int<class_int>` height, :ref:`int<class_int>` interpolation=1  **)**
 
 
 .. _class_Image_resize_to_po2:
 .. _class_Image_resize_to_po2:
 
 
-- void  **resize_to_po2**  **(** :ref:`bool<class_bool>` square="false"  **)**
+- void  **resize_to_po2**  **(** :ref:`bool<class_bool>` square=false  **)**
 
 
 .. _class_Image_save_png:
 .. _class_Image_save_png:
 
 
@@ -325,6 +353,10 @@ Load an :ref:`Image<class_image>`.
 
 
 Save this :ref:`Image<class_image>` as a png.
 Save this :ref:`Image<class_image>` as a png.
 
 
+.. _class_Image_set_pixel:
+
+- void  **set_pixel**  **(** :ref:`int<class_int>` x, :ref:`int<class_int>` y, :ref:`Color<class_color>` color  **)**
+
 .. _class_Image_shrink_x2:
 .. _class_Image_shrink_x2:
 
 
 - void  **shrink_x2**  **(** **)**
 - void  **shrink_x2**  **(** **)**

+ 1 - 1
classes/class_imagetexture.rst

@@ -101,7 +101,7 @@ Return the storage type. One of :ref:`ImageTexture<class_imagetexture>`.STORAGE\
 
 
 - void  **load**  **(** :ref:`String<class_string>` path  **)**
 - void  **load**  **(** :ref:`String<class_string>` path  **)**
 
 
-Load an :ref:`ImageTexure<class_imagetexure>`.
+Load an ImageTexure.
 
 
 .. _class_ImageTexture_set_data:
 .. _class_ImageTexture_set_data:
 
 

+ 11 - 0
classes/class_inputevent.rst

@@ -45,9 +45,16 @@ Member Functions
 +--------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                 | :ref:`set_id<class_InputEvent_set_id>`  **(** :ref:`int<class_int>` id  **)**                                                                                         |
 | void                                 | :ref:`set_id<class_InputEvent_set_id>`  **(** :ref:`int<class_int>` id  **)**                                                                                         |
 +--------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`              | :ref:`shortcut_match<class_InputEvent_shortcut_match>`  **(** :ref:`InputEvent<class_inputevent>` event  **)** const                                                  |
++--------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`InputEvent<class_inputevent>`  | :ref:`xformed_by<class_InputEvent_xformed_by>`  **(** :ref:`Transform2D<class_transform2d>` xform, :ref:`Vector2<class_vector2>` local_ofs=Vector2(0, 0)  **)** const |
 | :ref:`InputEvent<class_inputevent>`  | :ref:`xformed_by<class_InputEvent_xformed_by>`  **(** :ref:`Transform2D<class_transform2d>` xform, :ref:`Vector2<class_vector2>` local_ofs=Vector2(0, 0)  **)** const |
 +--------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 
 
+Member Variables
+----------------
+
+- :ref:`int<class_int>` **device**
+
 Member Function Description
 Member Function Description
 ---------------------------
 ---------------------------
 
 
@@ -109,6 +116,10 @@ Return if this input event is pressed. Not relevant for the event types MOUSE_MO
 
 
 - void  **set_id**  **(** :ref:`int<class_int>` id  **)**
 - void  **set_id**  **(** :ref:`int<class_int>` id  **)**
 
 
+.. _class_InputEvent_shortcut_match:
+
+- :ref:`bool<class_bool>`  **shortcut_match**  **(** :ref:`InputEvent<class_inputevent>` event  **)** const
+
 .. _class_InputEvent_xformed_by:
 .. _class_InputEvent_xformed_by:
 
 
 - :ref:`InputEvent<class_inputevent>`  **xformed_by**  **(** :ref:`Transform2D<class_transform2d>` xform, :ref:`Vector2<class_vector2>` local_ofs=Vector2(0, 0)  **)** const
 - :ref:`InputEvent<class_inputevent>`  **xformed_by**  **(** :ref:`Transform2D<class_transform2d>` xform, :ref:`Vector2<class_vector2>` local_ofs=Vector2(0, 0)  **)** const

+ 1 - 1
classes/class_inputmap.rst

@@ -101,6 +101,6 @@ Whether this InputMap has a registered action with the given name.
 
 
 - void  **load_from_globals**  **(** **)**
 - void  **load_from_globals**  **(** **)**
 
 
-Clear the :ref:`InputMap<class_inputmap>` and load it anew from :ref:`Globals<class_globals>`.
+Clear the :ref:`InputMap<class_inputmap>` and load it anew from :ref:`ProjectSettings<class_projectsettings>`.
 
 
 
 

+ 15 - 2
classes/class_itemlist.rst

@@ -47,7 +47,7 @@ Member Functions
 +------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`Rect2<class_rect2>`                | :ref:`get_item_icon_region<class_ItemList_get_item_icon_region>`  **(** :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:`Variant<class_variant>`            | :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_text<class_ItemList_get_item_text>`  **(** :ref:`int<class_int>` idx  **)** const                                                                          |
 +------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
@@ -138,6 +138,19 @@ Fired when specified item has been selected.
 Fired when a multiple selection is altered on a list allowing mutliple selection.
 Fired when a multiple selection is altered on a list allowing mutliple selection.
 
 
 
 
+Member Variables
+----------------
+
+- :ref:`bool<class_bool>` **allow_rmb_select**
+- :ref:`int<class_int>` **fixed_column_width**
+- :ref:`int<class_int>` **icon_mode**
+- :ref:`float<class_float>` **icon_scale**
+- :ref:`Array<class_array>` **items**
+- :ref:`int<class_int>` **max_columns**
+- :ref:`int<class_int>` **max_text_lines**
+- :ref:`bool<class_bool>` **same_column_width**
+- :ref:`int<class_int>` **select_mode**
+
 Numeric Constants
 Numeric Constants
 -----------------
 -----------------
 
 
@@ -236,7 +249,7 @@ Return count of items currently in the item list.
 
 
 .. _class_ItemList_get_item_metadata:
 .. _class_ItemList_get_item_metadata:
 
 
-- void  **get_item_metadata**  **(** :ref:`int<class_int>` idx  **)** const
+- :ref:`Variant<class_variant>`  **get_item_metadata**  **(** :ref:`int<class_int>` idx  **)** const
 
 
 .. _class_ItemList_get_item_text:
 .. _class_ItemList_get_item_text:
 
 

+ 94 - 146
classes/class_kinematicbody.rst

@@ -18,68 +18,54 @@ Kinematic body 3D node.
 Member Functions
 Member Functions
 ----------------
 ----------------
 
 
-+--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`        | :ref:`can_collide_with_character_bodies<class_KinematicBody_can_collide_with_character_bodies>`  **(** **)** const                                                                                                                                                                                                                                                                                                                              |
-+--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`        | :ref:`can_collide_with_kinematic_bodies<class_KinematicBody_can_collide_with_kinematic_bodies>`  **(** **)** const                                                                                                                                                                                                                                                                                                                              |
-+--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`        | :ref:`can_collide_with_rigid_bodies<class_KinematicBody_can_collide_with_rigid_bodies>`  **(** **)** const                                                                                                                                                                                                                                                                                                                                      |
-+--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`        | :ref:`can_collide_with_static_bodies<class_KinematicBody_can_collide_with_static_bodies>`  **(** **)** const                                                                                                                                                                                                                                                                                                                                    |
-+--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`        | :ref:`can_teleport_to<class_KinematicBody_can_teleport_to>`  **(** :ref:`Vector3<class_vector3>` position  **)**                                                                                                                                                                                                                                                                                                                                |
-+--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Variant<class_variant>`  | :ref:`get_collider<class_KinematicBody_get_collider>`  **(** **)** const                                                                                                                                                                                                                                                                                                                                                                        |
-+--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`          | :ref:`get_collider_shape<class_KinematicBody_get_collider_shape>`  **(** **)** const                                                                                                                                                                                                                                                                                                                                                            |
-+--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Vector3<class_vector3>`  | :ref:`get_collider_velocity<class_KinematicBody_get_collider_velocity>`  **(** **)** const                                                                                                                                                                                                                                                                                                                                                      |
-+--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`      | :ref:`get_collision_margin<class_KinematicBody_get_collision_margin>`  **(** **)** const                                                                                                                                                                                                                                                                                                                                                        |
-+--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Vector3<class_vector3>`  | :ref:`get_collision_normal<class_KinematicBody_get_collision_normal>`  **(** **)** const                                                                                                                                                                                                                                                                                                                                                        |
-+--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Vector3<class_vector3>`  | :ref:`get_collision_pos<class_KinematicBody_get_collision_pos>`  **(** **)** const                                                                                                                                                                                                                                                                                                                                                              |
-+--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Array<class_array>`      | :ref:`get_move_and_slide_colliders<class_KinematicBody_get_move_and_slide_colliders>`  **(** **)** const                                                                                                                                                                                                                                                                                                                                        |
-+--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Vector3<class_vector3>`  | :ref:`get_travel<class_KinematicBody_get_travel>`  **(** **)** const                                                                                                                                                                                                                                                                                                                                                                            |
-+--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`        | :ref:`is_colliding<class_KinematicBody_is_colliding>`  **(** **)** const                                                                                                                                                                                                                                                                                                                                                                        |
-+--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`        | :ref:`is_move_and_slide_on_ceiling<class_KinematicBody_is_move_and_slide_on_ceiling>`  **(** **)** const                                                                                                                                                                                                                                                                                                                                        |
-+--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`        | :ref:`is_move_and_slide_on_floor<class_KinematicBody_is_move_and_slide_on_floor>`  **(** **)** const                                                                                                                                                                                                                                                                                                                                            |
-+--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`        | :ref:`is_move_and_slide_on_wall<class_KinematicBody_is_move_and_slide_on_wall>`  **(** **)** const                                                                                                                                                                                                                                                                                                                                              |
-+--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Vector3<class_vector3>`  | :ref:`move<class_KinematicBody_move>`  **(** :ref:`Vector3<class_vector3>` rel_vec  **)**                                                                                                                                                                                                                                                                                                                                                       |
-+--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Vector3<class_vector3>`  | :ref:`move_and_slide<class_KinematicBody_move_and_slide>`  **(** :ref:`Vector3<class_vector3>` linear_velocity, :ref:`Vector3<class_vector3>` floor_normal=Vector3(0, 0, 0), :ref:`Vector3<class_vector3>` ceil_normal=Vector3(0, 0, 0), :ref:`float<class_float>` slope_stop_min_velocity=5, :ref:`int<class_int>` max_bounces=4, :ref:`float<class_float>` floor_max_angle=0.785398, :ref:`float<class_float>` ceil_max_angle=0.785398  **)** |
-+--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Vector3<class_vector3>`  | :ref:`move_to<class_KinematicBody_move_to>`  **(** :ref:`Vector3<class_vector3>` position  **)**                                                                                                                                                                                                                                                                                                                                                |
-+--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                           | :ref:`revert_motion<class_KinematicBody_revert_motion>`  **(** **)**                                                                                                                                                                                                                                                                                                                                                                            |
-+--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                           | :ref:`set_collide_with_character_bodies<class_KinematicBody_set_collide_with_character_bodies>`  **(** :ref:`bool<class_bool>` enable  **)**                                                                                                                                                                                                                                                                                                    |
-+--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                           | :ref:`set_collide_with_kinematic_bodies<class_KinematicBody_set_collide_with_kinematic_bodies>`  **(** :ref:`bool<class_bool>` enable  **)**                                                                                                                                                                                                                                                                                                    |
-+--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                           | :ref:`set_collide_with_rigid_bodies<class_KinematicBody_set_collide_with_rigid_bodies>`  **(** :ref:`bool<class_bool>` enable  **)**                                                                                                                                                                                                                                                                                                            |
-+--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                           | :ref:`set_collide_with_static_bodies<class_KinematicBody_set_collide_with_static_bodies>`  **(** :ref:`bool<class_bool>` enable  **)**                                                                                                                                                                                                                                                                                                          |
-+--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                           | :ref:`set_collision_margin<class_KinematicBody_set_collision_margin>`  **(** :ref:`float<class_float>` pixels  **)**                                                                                                                                                                                                                                                                                                                            |
-+--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
++--------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Object<class_object>`          | :ref:`get_collision_collider<class_KinematicBody_get_collision_collider>`  **(** :ref:`int<class_int>` collision  **)** const                                                                                                                                                                                                       |
++--------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                | :ref:`get_collision_collider_id<class_KinematicBody_get_collision_collider_id>`  **(** :ref:`int<class_int>` collision  **)** const                                                                                                                                                                                                 |
++--------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                 | :ref:`get_collision_collider_metadata<class_KinematicBody_get_collision_collider_metadata>`  **(** :ref:`int<class_int>` collision  **)** const                                                                                                                                                                                     |
++--------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Object<class_object>`          | :ref:`get_collision_collider_shape<class_KinematicBody_get_collision_collider_shape>`  **(** :ref:`int<class_int>` collision  **)** const                                                                                                                                                                                           |
++--------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                | :ref:`get_collision_collider_shape_index<class_KinematicBody_get_collision_collider_shape_index>`  **(** :ref:`int<class_int>` collision  **)** const                                                                                                                                                                               |
++--------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Vector3<class_vector3>`        | :ref:`get_collision_collider_velocity<class_KinematicBody_get_collision_collider_velocity>`  **(** :ref:`int<class_int>` collision  **)** const                                                                                                                                                                                     |
++--------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                | :ref:`get_collision_count<class_KinematicBody_get_collision_count>`  **(** **)** const                                                                                                                                                                                                                                              |
++--------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Object<class_object>`          | :ref:`get_collision_local_shape<class_KinematicBody_get_collision_local_shape>`  **(** :ref:`int<class_int>` collision  **)** const                                                                                                                                                                                                 |
++--------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Vector3<class_vector3>`        | :ref:`get_collision_normal<class_KinematicBody_get_collision_normal>`  **(** :ref:`int<class_int>` collision  **)** const                                                                                                                                                                                                           |
++--------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Vector3<class_vector3>`        | :ref:`get_collision_position<class_KinematicBody_get_collision_position>`  **(** :ref:`int<class_int>` collision  **)** const                                                                                                                                                                                                       |
++--------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Vector3<class_vector3>`        | :ref:`get_collision_remainder<class_KinematicBody_get_collision_remainder>`  **(** :ref:`int<class_int>` collision  **)** const                                                                                                                                                                                                     |
++--------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Vector3<class_vector3>`        | :ref:`get_collision_travel<class_KinematicBody_get_collision_travel>`  **(** :ref:`int<class_int>` collision  **)** const                                                                                                                                                                                                           |
++--------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Vector3<class_vector3>`        | :ref:`get_floor_velocity<class_KinematicBody_get_floor_velocity>`  **(** **)** const                                                                                                                                                                                                                                                |
++--------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`            | :ref:`get_safe_margin<class_KinematicBody_get_safe_margin>`  **(** **)** const                                                                                                                                                                                                                                                      |
++--------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`              | :ref:`is_on_ceiling<class_KinematicBody_is_on_ceiling>`  **(** **)** const                                                                                                                                                                                                                                                          |
++--------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`              | :ref:`is_on_floor<class_KinematicBody_is_on_floor>`  **(** **)** const                                                                                                                                                                                                                                                              |
++--------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`              | :ref:`is_on_wall<class_KinematicBody_is_on_wall>`  **(** **)** const                                                                                                                                                                                                                                                                |
++--------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Dictionary<class_dictionary>`  | :ref:`move<class_KinematicBody_move>`  **(** :ref:`Vector3<class_vector3>` rel_vec  **)**                                                                                                                                                                                                                                           |
++--------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Vector3<class_vector3>`        | :ref:`move_and_slide<class_KinematicBody_move_and_slide>`  **(** :ref:`Vector3<class_vector3>` linear_velocity, :ref:`Vector3<class_vector3>` floor_normal=Vector3(0, 0, 0), :ref:`float<class_float>` slope_stop_min_velocity=0.05, :ref:`int<class_int>` max_bounces=4, :ref:`float<class_float>` floor_max_angle=0.785398  **)** |
++--------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                 | :ref:`set_safe_margin<class_KinematicBody_set_safe_margin>`  **(** :ref:`float<class_float>` pixels  **)**                                                                                                                                                                                                                          |
++--------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`              | :ref:`test_move<class_KinematicBody_test_move>`  **(** :ref:`Transform<class_transform>` from, :ref:`Vector3<class_vector3>` rel_vec  **)**                                                                                                                                                                                         |
++--------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 
 
 Member Variables
 Member Variables
 ----------------
 ----------------
 
 
-- :ref:`bool<class_bool>` **collide_with/character**
-- :ref:`bool<class_bool>` **collide_with/kinematic**
-- :ref:`bool<class_bool>` **collide_with/rigid**
-- :ref:`bool<class_bool>` **collide_with/static**
-- :ref:`float<class_float>` **collision/margin**
+- :ref:`float<class_float>` **collision/safe_margin**
 
 
 Description
 Description
 -----------
 -----------
@@ -93,146 +79,108 @@ Kinematic Characters: KinematicBody also has an api for moving objects (the :ref
 Member Function Description
 Member Function Description
 ---------------------------
 ---------------------------
 
 
-.. _class_KinematicBody_can_collide_with_character_bodies:
+.. _class_KinematicBody_get_collision_collider:
 
 
-- :ref:`bool<class_bool>`  **can_collide_with_character_bodies**  **(** **)** const
+- :ref:`Object<class_object>`  **get_collision_collider**  **(** :ref:`int<class_int>` collision  **)** const
 
 
-Return if this body can collide with character bodies.
+.. _class_KinematicBody_get_collision_collider_id:
 
 
-.. _class_KinematicBody_can_collide_with_kinematic_bodies:
+- :ref:`int<class_int>`  **get_collision_collider_id**  **(** :ref:`int<class_int>` collision  **)** const
 
 
-- :ref:`bool<class_bool>`  **can_collide_with_kinematic_bodies**  **(** **)** const
+.. _class_KinematicBody_get_collision_collider_metadata:
 
 
-Return if this body can collide with kinematic bodies.
+- void  **get_collision_collider_metadata**  **(** :ref:`int<class_int>` collision  **)** const
 
 
-.. _class_KinematicBody_can_collide_with_rigid_bodies:
+.. _class_KinematicBody_get_collision_collider_shape:
 
 
-- :ref:`bool<class_bool>`  **can_collide_with_rigid_bodies**  **(** **)** const
+- :ref:`Object<class_object>`  **get_collision_collider_shape**  **(** :ref:`int<class_int>` collision  **)** const
 
 
-Return if this body can collide with rigid bodies.
+.. _class_KinematicBody_get_collision_collider_shape_index:
 
 
-.. _class_KinematicBody_can_collide_with_static_bodies:
+- :ref:`int<class_int>`  **get_collision_collider_shape_index**  **(** :ref:`int<class_int>` collision  **)** const
 
 
-- :ref:`bool<class_bool>`  **can_collide_with_static_bodies**  **(** **)** const
+.. _class_KinematicBody_get_collision_collider_velocity:
 
 
-Return if this body can collide with static bodies.
+- :ref:`Vector3<class_vector3>`  **get_collision_collider_velocity**  **(** :ref:`int<class_int>` collision  **)** const
 
 
-.. _class_KinematicBody_can_teleport_to:
+.. _class_KinematicBody_get_collision_count:
 
 
-- :ref:`bool<class_bool>`  **can_teleport_to**  **(** :ref:`Vector3<class_vector3>` position  **)**
+- :ref:`int<class_int>`  **get_collision_count**  **(** **)** const
 
 
-Returns whether the KinematicBody can be teleported to the destination given as an argument, checking all collision shapes of the body against potential colliders at the destination.
+.. _class_KinematicBody_get_collision_local_shape:
 
 
-.. _class_KinematicBody_get_collider:
-
-- :ref:`Variant<class_variant>`  **get_collider**  **(** **)** const
-
-Return the body that collided with this one.
-
-.. _class_KinematicBody_get_collider_shape:
-
-- :ref:`int<class_int>`  **get_collider_shape**  **(** **)** const
-
-Return the shape index from the body that collided with this one. If there is no collision, this method will return 0, so collisions must be checked first with :ref:`is_colliding<class_KinematicBody_is_colliding>`.
-
-.. _class_KinematicBody_get_collider_velocity:
-
-- :ref:`Vector3<class_vector3>`  **get_collider_velocity**  **(** **)** const
-
-Return the velocity of the body that collided with this one.
-
-.. _class_KinematicBody_get_collision_margin:
-
-- :ref:`float<class_float>`  **get_collision_margin**  **(** **)** const
-
-Return the collision margin for this object.
+- :ref:`Object<class_object>`  **get_collision_local_shape**  **(** :ref:`int<class_int>` collision  **)** const
 
 
 .. _class_KinematicBody_get_collision_normal:
 .. _class_KinematicBody_get_collision_normal:
 
 
-- :ref:`Vector3<class_vector3>`  **get_collision_normal**  **(** **)** const
+- :ref:`Vector3<class_vector3>`  **get_collision_normal**  **(** :ref:`int<class_int>` collision  **)** const
 
 
-Return the normal of the surface the body collided with. This is useful to implement sliding along a surface.
+.. _class_KinematicBody_get_collision_position:
 
 
-.. _class_KinematicBody_get_collision_pos:
+- :ref:`Vector3<class_vector3>`  **get_collision_position**  **(** :ref:`int<class_int>` collision  **)** const
 
 
-- :ref:`Vector3<class_vector3>`  **get_collision_pos**  **(** **)** const
+.. _class_KinematicBody_get_collision_remainder:
 
 
-Return the point in space where the body is touching another. If there is no collision, this method will return (0,0,0), so collisions must be checked first with :ref:`is_colliding<class_KinematicBody_is_colliding>`.
+- :ref:`Vector3<class_vector3>`  **get_collision_remainder**  **(** :ref:`int<class_int>` collision  **)** const
 
 
-.. _class_KinematicBody_get_move_and_slide_colliders:
+.. _class_KinematicBody_get_collision_travel:
 
 
-- :ref:`Array<class_array>`  **get_move_and_slide_colliders**  **(** **)** const
+- :ref:`Vector3<class_vector3>`  **get_collision_travel**  **(** :ref:`int<class_int>` collision  **)** const
 
 
-.. _class_KinematicBody_get_travel:
+.. _class_KinematicBody_get_floor_velocity:
 
 
-- :ref:`Vector3<class_vector3>`  **get_travel**  **(** **)** const
+- :ref:`Vector3<class_vector3>`  **get_floor_velocity**  **(** **)** const
 
 
-.. _class_KinematicBody_is_colliding:
+.. _class_KinematicBody_get_safe_margin:
 
 
-- :ref:`bool<class_bool>`  **is_colliding**  **(** **)** const
+- :ref:`float<class_float>`  **get_safe_margin**  **(** **)** const
 
 
-Return whether the body is colliding with another.
+.. _class_KinematicBody_is_on_ceiling:
 
 
-.. _class_KinematicBody_is_move_and_slide_on_ceiling:
+- :ref:`bool<class_bool>`  **is_on_ceiling**  **(** **)** const
 
 
-- :ref:`bool<class_bool>`  **is_move_and_slide_on_ceiling**  **(** **)** const
+.. _class_KinematicBody_is_on_floor:
 
 
-.. _class_KinematicBody_is_move_and_slide_on_floor:
+- :ref:`bool<class_bool>`  **is_on_floor**  **(** **)** const
 
 
-- :ref:`bool<class_bool>`  **is_move_and_slide_on_floor**  **(** **)** const
+.. _class_KinematicBody_is_on_wall:
 
 
-.. _class_KinematicBody_is_move_and_slide_on_wall:
-
-- :ref:`bool<class_bool>`  **is_move_and_slide_on_wall**  **(** **)** const
+- :ref:`bool<class_bool>`  **is_on_wall**  **(** **)** const
 
 
 .. _class_KinematicBody_move:
 .. _class_KinematicBody_move:
 
 
-- :ref:`Vector3<class_vector3>`  **move**  **(** :ref:`Vector3<class_vector3>` rel_vec  **)**
-
-Move the body in the given direction, stopping if there is an obstacle. The returned vector is how much movement was remaining before being stopped.
-
-.. _class_KinematicBody_move_and_slide:
-
-- :ref:`Vector3<class_vector3>`  **move_and_slide**  **(** :ref:`Vector3<class_vector3>` linear_velocity, :ref:`Vector3<class_vector3>` floor_normal=Vector3(0, 0, 0), :ref:`Vector3<class_vector3>` ceil_normal=Vector3(0, 0, 0), :ref:`float<class_float>` slope_stop_min_velocity=5, :ref:`int<class_int>` max_bounces=4, :ref:`float<class_float>` floor_max_angle=0.785398, :ref:`float<class_float>` ceil_max_angle=0.785398  **)**
+- :ref:`Dictionary<class_dictionary>`  **move**  **(** :ref:`Vector3<class_vector3>` rel_vec  **)**
 
 
-.. _class_KinematicBody_move_to:
+Move the body in the given direction, stopping if there is an obstacle. If as a result of a movement there will be any collision then informations about this collision will be in returned dictionary. Dictionary will contains those keys:
 
 
-- :ref:`Vector3<class_vector3>`  **move_to**  **(** :ref:`Vector3<class_vector3>` position  **)**
+- "position" - collision position
 
 
-Move the body to the given position. This is not a teleport, and the body will stop if there is an obstacle. The returned vector is how much movement was remaining before being stopped.
+- "normal" - collision normal
 
 
-.. _class_KinematicBody_revert_motion:
+- "local_shape" - id of this kinematic body shape that took part in a collision
 
 
-- void  **revert_motion**  **(** **)**
+- "travel" -  traveled movement before being stopped
 
 
-.. _class_KinematicBody_set_collide_with_character_bodies:
+- "remainder" - remaining movement before being stopped
 
 
-- void  **set_collide_with_character_bodies**  **(** :ref:`bool<class_bool>` enable  **)**
+- "collider_id" - id of the collider, it can be used when dealing with :ref:`PhysicsServer<class_physicsserver>`
 
 
-Set if this body should collide with character bodies.
+- "collider" - colliding body
 
 
-.. _class_KinematicBody_set_collide_with_kinematic_bodies:
+- "collider_shape_index" - index of the colliding shape, inside collider body "collider_metadata"
 
 
-- void  **set_collide_with_kinematic_bodies**  **(** :ref:`bool<class_bool>` enable  **)**
+If the body did not intersect anything, then an empty dictionary (dir.empty()==true) is returned instead. Please note that this method is less user friendly than :ref:`move_and_slide<class_KinematicBody_move_and_slide>`. If you don't want to program each edge case manually, then it's recommended to use :ref:`move_and_slide<class_KinematicBody_move_and_slide>` instead.
 
 
-Set if this body should collide with kinematic bodies.
-
-.. _class_KinematicBody_set_collide_with_rigid_bodies:
-
-- void  **set_collide_with_rigid_bodies**  **(** :ref:`bool<class_bool>` enable  **)**
-
-Set if this body should collide with rigid bodies.
-
-.. _class_KinematicBody_set_collide_with_static_bodies:
+.. _class_KinematicBody_move_and_slide:
 
 
-- void  **set_collide_with_static_bodies**  **(** :ref:`bool<class_bool>` enable  **)**
+- :ref:`Vector3<class_vector3>`  **move_and_slide**  **(** :ref:`Vector3<class_vector3>` linear_velocity, :ref:`Vector3<class_vector3>` floor_normal=Vector3(0, 0, 0), :ref:`float<class_float>` slope_stop_min_velocity=0.05, :ref:`int<class_int>` max_bounces=4, :ref:`float<class_float>` floor_max_angle=0.785398  **)**
 
 
-Set if this body should collide with static bodies.
+.. _class_KinematicBody_set_safe_margin:
 
 
-.. _class_KinematicBody_set_collision_margin:
+- void  **set_safe_margin**  **(** :ref:`float<class_float>` pixels  **)**
 
 
-- void  **set_collision_margin**  **(** :ref:`float<class_float>` pixels  **)**
+.. _class_KinematicBody_test_move:
 
 
-Set the collision margin for this object. A collision margin is an amount that all shapes will grow when computing collisions, to account for numerical imprecision.
+- :ref:`bool<class_bool>`  **test_move**  **(** :ref:`Transform<class_transform>` from, :ref:`Vector3<class_vector3>` rel_vec  **)**
 
 
 
 

+ 95 - 89
classes/class_kinematicbody2d.rst

@@ -18,50 +18,54 @@ Kinematic body 2D node.
 Member Functions
 Member Functions
 ----------------
 ----------------
 
 
-+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Variant<class_variant>`  | :ref:`get_collider<class_KinematicBody2D_get_collider>`  **(** **)** 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                                                                                                                                                                                                                                          |
-+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Vector2<class_vector2>`  | :ref:`get_collider_velocity<class_KinematicBody2D_get_collider_velocity>`  **(** **)** const                                                                                                                                                                                                                                    |
-+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`      | :ref:`get_collision_margin<class_KinematicBody2D_get_collision_margin>`  **(** **)** const                                                                                                                                                                                                                                      |
-+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Vector2<class_vector2>`  | :ref:`get_collision_normal<class_KinematicBody2D_get_collision_normal>`  **(** **)** const                                                                                                                                                                                                                                      |
-+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Vector2<class_vector2>`  | :ref:`get_collision_pos<class_KinematicBody2D_get_collision_pos>`  **(** **)** const                                                                                                                                                                                                                                            |
-+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Array<class_array>`      | :ref:`get_move_and_slide_colliders<class_KinematicBody2D_get_move_and_slide_colliders>`  **(** **)** const                                                                                                                                                                                                                      |
-+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Vector2<class_vector2>`  | :ref:`get_travel<class_KinematicBody2D_get_travel>`  **(** **)** const                                                                                                                                                                                                                                                          |
-+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`        | :ref:`is_colliding<class_KinematicBody2D_is_colliding>`  **(** **)** const                                                                                                                                                                                                                                                      |
-+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`        | :ref:`is_move_and_slide_on_ceiling<class_KinematicBody2D_is_move_and_slide_on_ceiling>`  **(** **)** const                                                                                                                                                                                                                      |
-+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`        | :ref:`is_move_and_slide_on_floor<class_KinematicBody2D_is_move_and_slide_on_floor>`  **(** **)** const                                                                                                                                                                                                                          |
-+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`        | :ref:`is_move_and_slide_on_wall<class_KinematicBody2D_is_move_and_slide_on_wall>`  **(** **)** const                                                                                                                                                                                                                            |
-+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Vector2<class_vector2>`  | :ref:`move<class_KinematicBody2D_move>`  **(** :ref:`Vector2<class_vector2>` rel_vec  **)**                                                                                                                                                                                                                                     |
-+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Vector2<class_vector2>`  | :ref:`move_and_slide<class_KinematicBody2D_move_and_slide>`  **(** :ref:`Vector2<class_vector2>` linear_velocity, :ref:`Vector2<class_vector2>` floor_normal=Vector2(0, 0), :ref:`float<class_float>` slope_stop_min_velocity=5, :ref:`int<class_int>` max_bounces=4, :ref:`float<class_float>` floor_max_angle=0.785398  **)** |
-+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Vector2<class_vector2>`  | :ref:`move_to<class_KinematicBody2D_move_to>`  **(** :ref:`Vector2<class_vector2>` position  **)**                                                                                                                                                                                                                              |
-+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                           | :ref:`revert_motion<class_KinematicBody2D_revert_motion>`  **(** **)**                                                                                                                                                                                                                                                          |
-+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                           | :ref:`set_collision_margin<class_KinematicBody2D_set_collision_margin>`  **(** :ref:`float<class_float>` pixels  **)**                                                                                                                                                                                                          |
-+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`        | :ref:`test_move<class_KinematicBody2D_test_move>`  **(** :ref:`Transform2D<class_transform2d>` from, :ref:`Vector2<class_vector2>` rel_vec  **)**                                                                                                                                                                               |
-+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
++--------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Object<class_object>`          | :ref:`get_collision_collider<class_KinematicBody2D_get_collision_collider>`  **(** :ref:`int<class_int>` collision  **)** const                                                                                                                                                                                                 |
++--------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                | :ref:`get_collision_collider_id<class_KinematicBody2D_get_collision_collider_id>`  **(** :ref:`int<class_int>` collision  **)** const                                                                                                                                                                                           |
++--------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                 | :ref:`get_collision_collider_metadata<class_KinematicBody2D_get_collision_collider_metadata>`  **(** :ref:`int<class_int>` collision  **)** const                                                                                                                                                                               |
++--------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Object<class_object>`          | :ref:`get_collision_collider_shape<class_KinematicBody2D_get_collision_collider_shape>`  **(** :ref:`int<class_int>` collision  **)** const                                                                                                                                                                                     |
++--------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                | :ref:`get_collision_collider_shape_index<class_KinematicBody2D_get_collision_collider_shape_index>`  **(** :ref:`int<class_int>` collision  **)** const                                                                                                                                                                         |
++--------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Vector2<class_vector2>`        | :ref:`get_collision_collider_velocity<class_KinematicBody2D_get_collision_collider_velocity>`  **(** :ref:`int<class_int>` collision  **)** const                                                                                                                                                                               |
++--------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                | :ref:`get_collision_count<class_KinematicBody2D_get_collision_count>`  **(** **)** const                                                                                                                                                                                                                                        |
++--------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Object<class_object>`          | :ref:`get_collision_local_shape<class_KinematicBody2D_get_collision_local_shape>`  **(** :ref:`int<class_int>` collision  **)** const                                                                                                                                                                                           |
++--------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Vector2<class_vector2>`        | :ref:`get_collision_normal<class_KinematicBody2D_get_collision_normal>`  **(** :ref:`int<class_int>` collision  **)** const                                                                                                                                                                                                     |
++--------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Vector2<class_vector2>`        | :ref:`get_collision_position<class_KinematicBody2D_get_collision_position>`  **(** :ref:`int<class_int>` collision  **)** const                                                                                                                                                                                                 |
++--------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Vector2<class_vector2>`        | :ref:`get_collision_remainder<class_KinematicBody2D_get_collision_remainder>`  **(** :ref:`int<class_int>` collision  **)** const                                                                                                                                                                                               |
++--------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Vector2<class_vector2>`        | :ref:`get_collision_travel<class_KinematicBody2D_get_collision_travel>`  **(** :ref:`int<class_int>` collision  **)** const                                                                                                                                                                                                     |
++--------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Vector2<class_vector2>`        | :ref:`get_floor_velocity<class_KinematicBody2D_get_floor_velocity>`  **(** **)** const                                                                                                                                                                                                                                          |
++--------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`            | :ref:`get_safe_margin<class_KinematicBody2D_get_safe_margin>`  **(** **)** const                                                                                                                                                                                                                                                |
++--------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`              | :ref:`is_on_ceiling<class_KinematicBody2D_is_on_ceiling>`  **(** **)** const                                                                                                                                                                                                                                                    |
++--------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`              | :ref:`is_on_floor<class_KinematicBody2D_is_on_floor>`  **(** **)** const                                                                                                                                                                                                                                                        |
++--------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`              | :ref:`is_on_wall<class_KinematicBody2D_is_on_wall>`  **(** **)** const                                                                                                                                                                                                                                                          |
++--------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Dictionary<class_dictionary>`  | :ref:`move<class_KinematicBody2D_move>`  **(** :ref:`Vector2<class_vector2>` rel_vec  **)**                                                                                                                                                                                                                                     |
++--------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Vector2<class_vector2>`        | :ref:`move_and_slide<class_KinematicBody2D_move_and_slide>`  **(** :ref:`Vector2<class_vector2>` linear_velocity, :ref:`Vector2<class_vector2>` floor_normal=Vector2(0, 0), :ref:`float<class_float>` slope_stop_min_velocity=5, :ref:`int<class_int>` max_bounces=4, :ref:`float<class_float>` floor_max_angle=0.785398  **)** |
++--------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                 | :ref:`set_safe_margin<class_KinematicBody2D_set_safe_margin>`  **(** :ref:`float<class_float>` pixels  **)**                                                                                                                                                                                                                    |
++--------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`              | :ref:`test_move<class_KinematicBody2D_test_move>`  **(** :ref:`Transform2D<class_transform2d>` from, :ref:`Vector2<class_vector2>` rel_vec  **)**                                                                                                                                                                               |
++--------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 
 
 Member Variables
 Member Variables
 ----------------
 ----------------
 
 
-- :ref:`float<class_float>` **collision/margin**
+- :ref:`float<class_float>` **collision/safe_margin**
 
 
 Description
 Description
 -----------
 -----------
@@ -75,105 +79,107 @@ Kinematic Characters: KinematicBody2D also has an api for moving objects (the :r
 Member Function Description
 Member Function Description
 ---------------------------
 ---------------------------
 
 
-.. _class_KinematicBody2D_get_collider:
+.. _class_KinematicBody2D_get_collision_collider:
 
 
-- :ref:`Variant<class_variant>`  **get_collider**  **(** **)** const
+- :ref:`Object<class_object>`  **get_collision_collider**  **(** :ref:`int<class_int>` collision  **)** const
 
 
-Return the body that collided with this one.
+.. _class_KinematicBody2D_get_collision_collider_id:
 
 
-.. _class_KinematicBody2D_get_collider_metadata:
+- :ref:`int<class_int>`  **get_collision_collider_id**  **(** :ref:`int<class_int>` collision  **)** const
 
 
-- :ref:`Variant<class_variant>`  **get_collider_metadata**  **(** **)** const
+.. _class_KinematicBody2D_get_collision_collider_metadata:
 
 
-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>`.
+- void  **get_collision_collider_metadata**  **(** :ref:`int<class_int>` collision  **)** const
 
 
-.. _class_KinematicBody2D_get_collider_shape:
+.. _class_KinematicBody2D_get_collision_collider_shape:
 
 
-- :ref:`int<class_int>`  **get_collider_shape**  **(** **)** const
+- :ref:`Object<class_object>`  **get_collision_collider_shape**  **(** :ref:`int<class_int>` collision  **)** const
 
 
-Return the shape index from the body that collided with this one. If there is no collision, this method will return 0, so collisions must be checked first with :ref:`is_colliding<class_KinematicBody2D_is_colliding>`.
+.. _class_KinematicBody2D_get_collision_collider_shape_index:
 
 
-.. _class_KinematicBody2D_get_collider_velocity:
+- :ref:`int<class_int>`  **get_collision_collider_shape_index**  **(** :ref:`int<class_int>` collision  **)** const
 
 
-- :ref:`Vector2<class_vector2>`  **get_collider_velocity**  **(** **)** const
+.. _class_KinematicBody2D_get_collision_collider_velocity:
 
 
-Return the velocity of the body that collided with this one.
+- :ref:`Vector2<class_vector2>`  **get_collision_collider_velocity**  **(** :ref:`int<class_int>` collision  **)** const
 
 
-.. _class_KinematicBody2D_get_collision_margin:
+Return the velocity of the body that collided with this one.
 
 
-- :ref:`float<class_float>`  **get_collision_margin**  **(** **)** const
+.. _class_KinematicBody2D_get_collision_count:
 
 
-Return the collision margin for this object.
+- :ref:`int<class_int>`  **get_collision_count**  **(** **)** const
 
 
-.. _class_KinematicBody2D_get_collision_normal:
+.. _class_KinematicBody2D_get_collision_local_shape:
 
 
-- :ref:`Vector2<class_vector2>`  **get_collision_normal**  **(** **)** const
+- :ref:`Object<class_object>`  **get_collision_local_shape**  **(** :ref:`int<class_int>` collision  **)** const
 
 
-Return the normal of the surface the body collided with. This is useful to implement sliding along a surface.
+.. _class_KinematicBody2D_get_collision_normal:
 
 
-.. _class_KinematicBody2D_get_collision_pos:
+- :ref:`Vector2<class_vector2>`  **get_collision_normal**  **(** :ref:`int<class_int>` collision  **)** const
 
 
-- :ref:`Vector2<class_vector2>`  **get_collision_pos**  **(** **)** const
+.. _class_KinematicBody2D_get_collision_position:
 
 
-Return the point in space where the body is touching another. If there is no collision, this method will return (0,0), so collisions must be checked first with :ref:`is_colliding<class_KinematicBody2D_is_colliding>`.
+- :ref:`Vector2<class_vector2>`  **get_collision_position**  **(** :ref:`int<class_int>` collision  **)** const
 
 
-.. _class_KinematicBody2D_get_move_and_slide_colliders:
+.. _class_KinematicBody2D_get_collision_remainder:
 
 
-- :ref:`Array<class_array>`  **get_move_and_slide_colliders**  **(** **)** const
+- :ref:`Vector2<class_vector2>`  **get_collision_remainder**  **(** :ref:`int<class_int>` collision  **)** const
 
 
-.. _class_KinematicBody2D_get_travel:
+.. _class_KinematicBody2D_get_collision_travel:
 
 
-- :ref:`Vector2<class_vector2>`  **get_travel**  **(** **)** const
+- :ref:`Vector2<class_vector2>`  **get_collision_travel**  **(** :ref:`int<class_int>` collision  **)** const
 
 
-Return the last movement done by the body.
+.. _class_KinematicBody2D_get_floor_velocity:
 
 
-.. _class_KinematicBody2D_is_colliding:
+- :ref:`Vector2<class_vector2>`  **get_floor_velocity**  **(** **)** const
 
 
-- :ref:`bool<class_bool>`  **is_colliding**  **(** **)** const
+.. _class_KinematicBody2D_get_safe_margin:
 
 
-Return whether the body is colliding with another.
+- :ref:`float<class_float>`  **get_safe_margin**  **(** **)** const
 
 
-.. _class_KinematicBody2D_is_move_and_slide_on_ceiling:
+.. _class_KinematicBody2D_is_on_ceiling:
 
 
-- :ref:`bool<class_bool>`  **is_move_and_slide_on_ceiling**  **(** **)** const
+- :ref:`bool<class_bool>`  **is_on_ceiling**  **(** **)** const
 
 
-.. _class_KinematicBody2D_is_move_and_slide_on_floor:
+.. _class_KinematicBody2D_is_on_floor:
 
 
-- :ref:`bool<class_bool>`  **is_move_and_slide_on_floor**  **(** **)** const
+- :ref:`bool<class_bool>`  **is_on_floor**  **(** **)** const
 
 
-.. _class_KinematicBody2D_is_move_and_slide_on_wall:
+.. _class_KinematicBody2D_is_on_wall:
 
 
-- :ref:`bool<class_bool>`  **is_move_and_slide_on_wall**  **(** **)** const
+- :ref:`bool<class_bool>`  **is_on_wall**  **(** **)** const
 
 
 .. _class_KinematicBody2D_move:
 .. _class_KinematicBody2D_move:
 
 
-- :ref:`Vector2<class_vector2>`  **move**  **(** :ref:`Vector2<class_vector2>` rel_vec  **)**
+- :ref:`Dictionary<class_dictionary>`  **move**  **(** :ref:`Vector2<class_vector2>` rel_vec  **)**
 
 
-Move the body in the given direction, stopping if there is an obstacle. The returned vector is how much movement was remaining before being stopped.
+Move the body in the given direction, stopping if there is an obstacle. If as a result of a movement there will be any collision then informations about this collision will be in returned dictionary.	Dictionary will contains those keys:
 
 
-.. _class_KinematicBody2D_move_and_slide:
+- "position" - collision position
 
 
-- :ref:`Vector2<class_vector2>`  **move_and_slide**  **(** :ref:`Vector2<class_vector2>` linear_velocity, :ref:`Vector2<class_vector2>` floor_normal=Vector2(0, 0), :ref:`float<class_float>` slope_stop_min_velocity=5, :ref:`int<class_int>` max_bounces=4, :ref:`float<class_float>` floor_max_angle=0.785398  **)**
+- "normal" - collision normal
+
+- "local_shape" - id of this kinematic body shape that took part in a collision
 
 
-.. _class_KinematicBody2D_move_to:
+- "travel" -  traveled movement before being stopped
 
 
-- :ref:`Vector2<class_vector2>`  **move_to**  **(** :ref:`Vector2<class_vector2>` position  **)**
+- "remainder" - remaining movement before being stopped
 
 
-Move the body to the given position. This is not a teleport, and the body will stop if there is an obstacle. The returned vector is how much movement was remaining before being stopped.
+- "collider_id" - id of the collider, it can be used when dealing with :ref:`Physics2DServer<class_physics2dserver>`
 
 
-``floor_max_angle`` is in radians (default is pi/4), and filters which obstacles should be considered as floors/cellings instead of walls.
+- "collider" - colliding body
 
 
-.. _class_KinematicBody2D_revert_motion:
+- "collider_shape_index" - index of the colliding shape, inside collider body "collider_metadata"
 
 
-- void  **revert_motion**  **(** **)**
+If the body did not intersect anything, then an empty dictionary (dir.empty()==true) is returned instead. Please note that this method is less user friendly than :ref:`move_and_slide<class_KinematicBody2D_move_and_slide>`. If you don't want to program each edge case manually, then it's recommended to use :ref:`move_and_slide<class_KinematicBody2D_move_and_slide>` instead.
 
 
-Undo the last movement done by the body.
+.. _class_KinematicBody2D_move_and_slide:
 
 
-.. _class_KinematicBody2D_set_collision_margin:
+- :ref:`Vector2<class_vector2>`  **move_and_slide**  **(** :ref:`Vector2<class_vector2>` linear_velocity, :ref:`Vector2<class_vector2>` floor_normal=Vector2(0, 0), :ref:`float<class_float>` slope_stop_min_velocity=5, :ref:`int<class_int>` max_bounces=4, :ref:`float<class_float>` floor_max_angle=0.785398  **)**
 
 
-- void  **set_collision_margin**  **(** :ref:`float<class_float>` pixels  **)**
+.. _class_KinematicBody2D_set_safe_margin:
 
 
-Set the collision margin for this object. A collision margin is an amount (in pixels) that all shapes will grow when computing collisions, to account for numerical imprecision.
+- void  **set_safe_margin**  **(** :ref:`float<class_float>` pixels  **)**
 
 
 .. _class_KinematicBody2D_test_move:
 .. _class_KinematicBody2D_test_move:
 
 

+ 27 - 1
classes/class_material.rst

@@ -8,7 +8,7 @@ Material
 
 
 **Inherits:** :ref:`Resource<class_resource>` **<** :ref:`Reference<class_reference>` **<** :ref:`Object<class_object>`
 **Inherits:** :ref:`Resource<class_resource>` **<** :ref:`Reference<class_reference>` **<** :ref:`Object<class_object>`
 
 
-**Inherited By:** :ref:`ParticlesMaterial<class_particlesmaterial>`, :ref:`ShaderMaterial<class_shadermaterial>`, :ref:`SpatialMaterial<class_spatialmaterial>`
+**Inherited By:** :ref:`ParticlesMaterial<class_particlesmaterial>`, :ref:`ShaderMaterial<class_shadermaterial>`, :ref:`SpatialMaterial<class_spatialmaterial>`, :ref:`CanvasItemMaterial<class_canvasitemmaterial>`
 
 
 **Category:** Core
 **Category:** Core
 
 
@@ -17,8 +17,34 @@ Brief Description
 
 
 Abstract base :ref:`Resource<class_resource>` for coloring and shading geometry.
 Abstract base :ref:`Resource<class_resource>` for coloring and shading geometry.
 
 
+Member Functions
+----------------
+
++----------------------------------+------------------------------------------------------------------------------------------------------------+
+| :ref:`Material<class_material>`  | :ref:`get_next_pass<class_Material_get_next_pass>`  **(** **)** const                                      |
++----------------------------------+------------------------------------------------------------------------------------------------------------+
+| void                             | :ref:`set_next_pass<class_Material_set_next_pass>`  **(** :ref:`Material<class_material>` next_pass  **)** |
++----------------------------------+------------------------------------------------------------------------------------------------------------+
+
+Member Variables
+----------------
+
+- :ref:`Material<class_material>` **next_pass**
+
 Description
 Description
 -----------
 -----------
 
 
 Material is a base :ref:`Resource<class_resource>` used for coloring and shading geometry. All materials inherit from it and almost all :ref:`VisualInstance<class_visualinstance>` derived nodes carry a Material. A few flags and parameters are shared between all material types and are configured here.
 Material is a base :ref:`Resource<class_resource>` used for coloring and shading geometry. All materials inherit from it and almost all :ref:`VisualInstance<class_visualinstance>` derived nodes carry a Material. A few flags and parameters are shared between all material types and are configured here.
 
 
+Member Function Description
+---------------------------
+
+.. _class_Material_get_next_pass:
+
+- :ref:`Material<class_material>`  **get_next_pass**  **(** **)** const
+
+.. _class_Material_set_next_pass:
+
+- void  **set_next_pass**  **(** :ref:`Material<class_material>` next_pass  **)**
+
+

+ 11 - 0
classes/class_mesh.rst

@@ -32,6 +32,17 @@ Member Functions
 | :ref:`PoolVector3Array<class_poolvector3array>`  | :ref:`get_faces<class_Mesh_get_faces>`  **(** **)** const                                             |
 | :ref:`PoolVector3Array<class_poolvector3array>`  | :ref:`get_faces<class_Mesh_get_faces>`  **(** **)** const                                             |
 +--------------------------------------------------+-------------------------------------------------------------------------------------------------------+
 +--------------------------------------------------+-------------------------------------------------------------------------------------------------------+
 
 
+Numeric Constants
+-----------------
+
+- **PRIMITIVE_POINTS** = **0** --- Render array as points (one vertex equals one point).
+- **PRIMITIVE_LINES** = **1** --- Render array as lines (every two vertices a line is created).
+- **PRIMITIVE_LINE_STRIP** = **2** --- Render array as line strip.
+- **PRIMITIVE_LINE_LOOP** = **3** --- Render array as line loop (like line strip, but closed).
+- **PRIMITIVE_TRIANGLES** = **4** --- Render array as triangles (every three vertices a triangle is created).
+- **PRIMITIVE_TRIANGLE_STRIP** = **5** --- Render array as triangle strips.
+- **PRIMITIVE_TRIANGLE_FAN** = **6** --- Render array as triangle fans.
+
 Description
 Description
 -----------
 -----------
 
 

+ 6 - 6
classes/class_meshdatatool.rst

@@ -29,7 +29,7 @@ Member Functions
 +--------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`PoolIntArray<class_poolintarray>`    | :ref:`get_edge_faces<class_MeshDataTool_get_edge_faces>`  **(** :ref:`int<class_int>` idx  **)** const                                                      |
 | :ref:`PoolIntArray<class_poolintarray>`    | :ref:`get_edge_faces<class_MeshDataTool_get_edge_faces>`  **(** :ref:`int<class_int>` idx  **)** const                                                      |
 +--------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                       | :ref:`get_edge_meta<class_MeshDataTool_get_edge_meta>`  **(** :ref:`int<class_int>` idx  **)** const                                                        |
+| :ref:`Variant<class_variant>`              | :ref:`get_edge_meta<class_MeshDataTool_get_edge_meta>`  **(** :ref:`int<class_int>` idx  **)** const                                                        |
 +--------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`int<class_int>`                      | :ref:`get_edge_vertex<class_MeshDataTool_get_edge_vertex>`  **(** :ref:`int<class_int>` idx, :ref:`int<class_int>` vertex  **)** const                      |
 | :ref:`int<class_int>`                      | :ref:`get_edge_vertex<class_MeshDataTool_get_edge_vertex>`  **(** :ref:`int<class_int>` idx, :ref:`int<class_int>` vertex  **)** const                      |
 +--------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------+
@@ -37,7 +37,7 @@ Member Functions
 +--------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`int<class_int>`                      | :ref:`get_face_edge<class_MeshDataTool_get_face_edge>`  **(** :ref:`int<class_int>` idx, :ref:`int<class_int>` edge  **)** const                            |
 | :ref:`int<class_int>`                      | :ref:`get_face_edge<class_MeshDataTool_get_face_edge>`  **(** :ref:`int<class_int>` idx, :ref:`int<class_int>` edge  **)** const                            |
 +--------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                       | :ref:`get_face_meta<class_MeshDataTool_get_face_meta>`  **(** :ref:`int<class_int>` idx  **)** const                                                        |
+| :ref:`Variant<class_variant>`              | :ref:`get_face_meta<class_MeshDataTool_get_face_meta>`  **(** :ref:`int<class_int>` idx  **)** const                                                        |
 +--------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`Vector3<class_vector3>`              | :ref:`get_face_normal<class_MeshDataTool_get_face_normal>`  **(** :ref:`int<class_int>` idx  **)** const                                                    |
 | :ref:`Vector3<class_vector3>`              | :ref:`get_face_normal<class_MeshDataTool_get_face_normal>`  **(** :ref:`int<class_int>` idx  **)** const                                                    |
 +--------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------+
@@ -59,7 +59,7 @@ Member Functions
 +--------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`PoolIntArray<class_poolintarray>`    | :ref:`get_vertex_faces<class_MeshDataTool_get_vertex_faces>`  **(** :ref:`int<class_int>` idx  **)** const                                                  |
 | :ref:`PoolIntArray<class_poolintarray>`    | :ref:`get_vertex_faces<class_MeshDataTool_get_vertex_faces>`  **(** :ref:`int<class_int>` idx  **)** const                                                  |
 +--------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                       | :ref:`get_vertex_meta<class_MeshDataTool_get_vertex_meta>`  **(** :ref:`int<class_int>` idx  **)** const                                                    |
+| :ref:`Variant<class_variant>`              | :ref:`get_vertex_meta<class_MeshDataTool_get_vertex_meta>`  **(** :ref:`int<class_int>` idx  **)** const                                                    |
 +--------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`Vector3<class_vector3>`              | :ref:`get_vertex_normal<class_MeshDataTool_get_vertex_normal>`  **(** :ref:`int<class_int>` idx  **)** const                                                |
 | :ref:`Vector3<class_vector3>`              | :ref:`get_vertex_normal<class_MeshDataTool_get_vertex_normal>`  **(** :ref:`int<class_int>` idx  **)** const                                                |
 +--------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------+
@@ -121,7 +121,7 @@ Member Function Description
 
 
 .. _class_MeshDataTool_get_edge_meta:
 .. _class_MeshDataTool_get_edge_meta:
 
 
-- void  **get_edge_meta**  **(** :ref:`int<class_int>` idx  **)** const
+- :ref:`Variant<class_variant>`  **get_edge_meta**  **(** :ref:`int<class_int>` idx  **)** const
 
 
 .. _class_MeshDataTool_get_edge_vertex:
 .. _class_MeshDataTool_get_edge_vertex:
 
 
@@ -137,7 +137,7 @@ Member Function Description
 
 
 .. _class_MeshDataTool_get_face_meta:
 .. _class_MeshDataTool_get_face_meta:
 
 
-- void  **get_face_meta**  **(** :ref:`int<class_int>` idx  **)** const
+- :ref:`Variant<class_variant>`  **get_face_meta**  **(** :ref:`int<class_int>` idx  **)** const
 
 
 .. _class_MeshDataTool_get_face_normal:
 .. _class_MeshDataTool_get_face_normal:
 
 
@@ -181,7 +181,7 @@ Member Function Description
 
 
 .. _class_MeshDataTool_get_vertex_meta:
 .. _class_MeshDataTool_get_vertex_meta:
 
 
-- void  **get_vertex_meta**  **(** :ref:`int<class_int>` idx  **)** const
+- :ref:`Variant<class_variant>`  **get_vertex_meta**  **(** :ref:`int<class_int>` idx  **)** const
 
 
 .. _class_MeshDataTool_get_vertex_normal:
 .. _class_MeshDataTool_get_vertex_normal:
 
 

+ 31 - 13
classes/class_meshinstance.rst

@@ -18,19 +18,25 @@ Node that instances meshes into a scenario.
 Member Functions
 Member Functions
 ----------------
 ----------------
 
 
-+----------------------------------+----------------------------------------------------------------------------------------------------------------------------+
-| void                             | :ref:`create_convex_collision<class_MeshInstance_create_convex_collision>`  **(** **)**                                    |
-+----------------------------------+----------------------------------------------------------------------------------------------------------------------------+
-| void                             | :ref:`create_trimesh_collision<class_MeshInstance_create_trimesh_collision>`  **(** **)**                                  |
-+----------------------------------+----------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Mesh<class_mesh>`          | :ref:`get_mesh<class_MeshInstance_get_mesh>`  **(** **)** const                                                            |
-+----------------------------------+----------------------------------------------------------------------------------------------------------------------------+
-| :ref:`NodePath<class_nodepath>`  | :ref:`get_skeleton_path<class_MeshInstance_get_skeleton_path>`  **(** **)**                                                |
-+----------------------------------+----------------------------------------------------------------------------------------------------------------------------+
-| void                             | :ref:`set_mesh<class_MeshInstance_set_mesh>`  **(** :ref:`Mesh<class_mesh>` mesh  **)**                                    |
-+----------------------------------+----------------------------------------------------------------------------------------------------------------------------+
-| void                             | :ref:`set_skeleton_path<class_MeshInstance_set_skeleton_path>`  **(** :ref:`NodePath<class_nodepath>` skeleton_path  **)** |
-+----------------------------------+----------------------------------------------------------------------------------------------------------------------------+
++----------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                             | :ref:`create_convex_collision<class_MeshInstance_create_convex_collision>`  **(** **)**                                                                    |
++----------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                             | :ref:`create_debug_tangents<class_MeshInstance_create_debug_tangents>`  **(** **)**                                                                        |
++----------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                             | :ref:`create_trimesh_collision<class_MeshInstance_create_trimesh_collision>`  **(** **)**                                                                  |
++----------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Mesh<class_mesh>`          | :ref:`get_mesh<class_MeshInstance_get_mesh>`  **(** **)** const                                                                                            |
++----------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`NodePath<class_nodepath>`  | :ref:`get_skeleton_path<class_MeshInstance_get_skeleton_path>`  **(** **)**                                                                                |
++----------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Material<class_material>`  | :ref:`get_surface_material<class_MeshInstance_get_surface_material>`  **(** :ref:`int<class_int>` surface  **)** const                                     |
++----------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                             | :ref:`set_mesh<class_MeshInstance_set_mesh>`  **(** :ref:`Mesh<class_mesh>` mesh  **)**                                                                    |
++----------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                             | :ref:`set_skeleton_path<class_MeshInstance_set_skeleton_path>`  **(** :ref:`NodePath<class_nodepath>` skeleton_path  **)**                                 |
++----------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                             | :ref:`set_surface_material<class_MeshInstance_set_surface_material>`  **(** :ref:`int<class_int>` surface, :ref:`Material<class_material>` material  **)** |
++----------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
 
 
 Member Variables
 Member Variables
 ----------------
 ----------------
@@ -50,6 +56,10 @@ Member Function Description
 
 
 - void  **create_convex_collision**  **(** **)**
 - void  **create_convex_collision**  **(** **)**
 
 
+.. _class_MeshInstance_create_debug_tangents:
+
+- void  **create_debug_tangents**  **(** **)**
+
 .. _class_MeshInstance_create_trimesh_collision:
 .. _class_MeshInstance_create_trimesh_collision:
 
 
 - void  **create_trimesh_collision**  **(** **)**
 - void  **create_trimesh_collision**  **(** **)**
@@ -66,6 +76,10 @@ Return the current :ref:`Mesh<class_mesh>` resource for the instance.
 
 
 - :ref:`NodePath<class_nodepath>`  **get_skeleton_path**  **(** **)**
 - :ref:`NodePath<class_nodepath>`  **get_skeleton_path**  **(** **)**
 
 
+.. _class_MeshInstance_get_surface_material:
+
+- :ref:`Material<class_material>`  **get_surface_material**  **(** :ref:`int<class_int>` surface  **)** const
+
 .. _class_MeshInstance_set_mesh:
 .. _class_MeshInstance_set_mesh:
 
 
 - void  **set_mesh**  **(** :ref:`Mesh<class_mesh>` mesh  **)**
 - void  **set_mesh**  **(** :ref:`Mesh<class_mesh>` mesh  **)**
@@ -76,4 +90,8 @@ Set the :ref:`Mesh<class_mesh>` resource for the instance.
 
 
 - void  **set_skeleton_path**  **(** :ref:`NodePath<class_nodepath>` skeleton_path  **)**
 - void  **set_skeleton_path**  **(** :ref:`NodePath<class_nodepath>` skeleton_path  **)**
 
 
+.. _class_MeshInstance_set_surface_material:
+
+- void  **set_surface_material**  **(** :ref:`int<class_int>` surface, :ref:`Material<class_material>` material  **)**
+
 
 

+ 1 - 1
classes/class_multimesh.rst

@@ -74,7 +74,7 @@ For this case a MultiMesh becomes very useful, as it can draw thousands of insta
 
 
 As a drawback, if the instances are too far away of each other, performance may be reduced as every single instance will always rendered (they are spatially indexed as one, for the whole object).
 As a drawback, if the instances are too far away of each other, performance may be reduced as every single instance will always rendered (they are spatially indexed as one, for the whole object).
 
 
-Since instances may have any behavior, the Rect3 used for visibility must be provided by the user, or generated with :ref:`generate_aabb<class_MultiMesh_generate_aabb>`.
+Since instances may have any behavior, the Rect3 used for visibility must be provided by the user.
 
 
 Member Function Description
 Member Function Description
 ---------------------------
 ---------------------------

+ 1 - 1
classes/class_mutex.rst

@@ -44,7 +44,7 @@ Lock this :ref:`Mutex<class_mutex>`, blocks until it is unlocked by the current
 
 
 - Error  **try_lock**  **(** **)**
 - Error  **try_lock**  **(** **)**
 
 
-Try locking this :ref:`Mutex<class_mutex>`, does not block. Returns :ref:`OK<class_ok>` on success else :ref:`ERR_BUSY<class_err_busy>`.
+Try locking this :ref:`Mutex<class_mutex>`, does not block. Returns OK on success else ERR_BUSY.
 
 
 .. _class_Mutex_unlock:
 .. _class_Mutex_unlock:
 
 

+ 33 - 0
classes/class_ninepatchrect.rst

@@ -21,20 +21,28 @@ Member Functions
 +------------------------------+---------------------------------------------------------------------------------------------------------------------------------------+
 +------------------------------+---------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`bool<class_bool>`      | :ref:`get_draw_center<class_NinePatchRect_get_draw_center>`  **(** **)** const                                                        |
 | :ref:`bool<class_bool>`      | :ref:`get_draw_center<class_NinePatchRect_get_draw_center>`  **(** **)** const                                                        |
 +------------------------------+---------------------------------------------------------------------------------------------------------------------------------------+
 +------------------------------+---------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`        | :ref:`get_h_axis_stretch_mode<class_NinePatchRect_get_h_axis_stretch_mode>`  **(** **)** const                                        |
++------------------------------+---------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`int<class_int>`        | :ref:`get_patch_margin<class_NinePatchRect_get_patch_margin>`  **(** :ref:`int<class_int>` margin  **)** const                        |
 | :ref:`int<class_int>`        | :ref:`get_patch_margin<class_NinePatchRect_get_patch_margin>`  **(** :ref:`int<class_int>` margin  **)** const                        |
 +------------------------------+---------------------------------------------------------------------------------------------------------------------------------------+
 +------------------------------+---------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`Rect2<class_rect2>`    | :ref:`get_region_rect<class_NinePatchRect_get_region_rect>`  **(** **)** const                                                        |
 | :ref:`Rect2<class_rect2>`    | :ref:`get_region_rect<class_NinePatchRect_get_region_rect>`  **(** **)** const                                                        |
 +------------------------------+---------------------------------------------------------------------------------------------------------------------------------------+
 +------------------------------+---------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`Object<class_object>`  | :ref:`get_texture<class_NinePatchRect_get_texture>`  **(** **)** const                                                                |
 | :ref:`Object<class_object>`  | :ref:`get_texture<class_NinePatchRect_get_texture>`  **(** **)** const                                                                |
 +------------------------------+---------------------------------------------------------------------------------------------------------------------------------------+
 +------------------------------+---------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`        | :ref:`get_v_axis_stretch_mode<class_NinePatchRect_get_v_axis_stretch_mode>`  **(** **)** const                                        |
++------------------------------+---------------------------------------------------------------------------------------------------------------------------------------+
 | void                         | :ref:`set_draw_center<class_NinePatchRect_set_draw_center>`  **(** :ref:`bool<class_bool>` draw_center  **)**                         |
 | void                         | :ref:`set_draw_center<class_NinePatchRect_set_draw_center>`  **(** :ref:`bool<class_bool>` draw_center  **)**                         |
 +------------------------------+---------------------------------------------------------------------------------------------------------------------------------------+
 +------------------------------+---------------------------------------------------------------------------------------------------------------------------------------+
+| void                         | :ref:`set_h_axis_stretch_mode<class_NinePatchRect_set_h_axis_stretch_mode>`  **(** :ref:`int<class_int>` mode  **)**                  |
++------------------------------+---------------------------------------------------------------------------------------------------------------------------------------+
 | void                         | :ref:`set_patch_margin<class_NinePatchRect_set_patch_margin>`  **(** :ref:`int<class_int>` margin, :ref:`int<class_int>` value  **)** |
 | void                         | :ref:`set_patch_margin<class_NinePatchRect_set_patch_margin>`  **(** :ref:`int<class_int>` margin, :ref:`int<class_int>` value  **)** |
 +------------------------------+---------------------------------------------------------------------------------------------------------------------------------------+
 +------------------------------+---------------------------------------------------------------------------------------------------------------------------------------+
 | void                         | :ref:`set_region_rect<class_NinePatchRect_set_region_rect>`  **(** :ref:`Rect2<class_rect2>` rect  **)**                              |
 | void                         | :ref:`set_region_rect<class_NinePatchRect_set_region_rect>`  **(** :ref:`Rect2<class_rect2>` rect  **)**                              |
 +------------------------------+---------------------------------------------------------------------------------------------------------------------------------------+
 +------------------------------+---------------------------------------------------------------------------------------------------------------------------------------+
 | void                         | :ref:`set_texture<class_NinePatchRect_set_texture>`  **(** :ref:`Object<class_object>` texture  **)**                                 |
 | void                         | :ref:`set_texture<class_NinePatchRect_set_texture>`  **(** :ref:`Object<class_object>` texture  **)**                                 |
 +------------------------------+---------------------------------------------------------------------------------------------------------------------------------------+
 +------------------------------+---------------------------------------------------------------------------------------------------------------------------------------+
+| void                         | :ref:`set_v_axis_stretch_mode<class_NinePatchRect_set_v_axis_stretch_mode>`  **(** :ref:`int<class_int>` mode  **)**                  |
++------------------------------+---------------------------------------------------------------------------------------------------------------------------------------+
 
 
 Signals
 Signals
 -------
 -------
@@ -44,6 +52,8 @@ Signals
 Member Variables
 Member Variables
 ----------------
 ----------------
 
 
+- :ref:`int<class_int>` **axis_stretch_horizontal**
+- :ref:`int<class_int>` **axis_stretch_vertical**
 - :ref:`bool<class_bool>` **draw_center**
 - :ref:`bool<class_bool>` **draw_center**
 - :ref:`int<class_int>` **patch_margin_bottom**
 - :ref:`int<class_int>` **patch_margin_bottom**
 - :ref:`int<class_int>` **patch_margin_left**
 - :ref:`int<class_int>` **patch_margin_left**
@@ -52,6 +62,13 @@ Member Variables
 - :ref:`Rect2<class_rect2>` **region_rect**
 - :ref:`Rect2<class_rect2>` **region_rect**
 - :ref:`Texture<class_texture>` **texture**
 - :ref:`Texture<class_texture>` **texture**
 
 
+Numeric Constants
+-----------------
+
+- **AXIS_STRETCH_MODE_STRETCH** = **0**
+- **AXIS_STRETCH_MODE_TILE** = **1**
+- **AXIS_STRETCH_MODE_TILE_FIT** = **2**
+
 Member Function Description
 Member Function Description
 ---------------------------
 ---------------------------
 
 
@@ -59,6 +76,10 @@ Member Function Description
 
 
 - :ref:`bool<class_bool>`  **get_draw_center**  **(** **)** const
 - :ref:`bool<class_bool>`  **get_draw_center**  **(** **)** const
 
 
+.. _class_NinePatchRect_get_h_axis_stretch_mode:
+
+- :ref:`int<class_int>`  **get_h_axis_stretch_mode**  **(** **)** const
+
 .. _class_NinePatchRect_get_patch_margin:
 .. _class_NinePatchRect_get_patch_margin:
 
 
 - :ref:`int<class_int>`  **get_patch_margin**  **(** :ref:`int<class_int>` margin  **)** const
 - :ref:`int<class_int>`  **get_patch_margin**  **(** :ref:`int<class_int>` margin  **)** const
@@ -71,10 +92,18 @@ Member Function Description
 
 
 - :ref:`Object<class_object>`  **get_texture**  **(** **)** const
 - :ref:`Object<class_object>`  **get_texture**  **(** **)** const
 
 
+.. _class_NinePatchRect_get_v_axis_stretch_mode:
+
+- :ref:`int<class_int>`  **get_v_axis_stretch_mode**  **(** **)** const
+
 .. _class_NinePatchRect_set_draw_center:
 .. _class_NinePatchRect_set_draw_center:
 
 
 - void  **set_draw_center**  **(** :ref:`bool<class_bool>` draw_center  **)**
 - void  **set_draw_center**  **(** :ref:`bool<class_bool>` draw_center  **)**
 
 
+.. _class_NinePatchRect_set_h_axis_stretch_mode:
+
+- void  **set_h_axis_stretch_mode**  **(** :ref:`int<class_int>` mode  **)**
+
 .. _class_NinePatchRect_set_patch_margin:
 .. _class_NinePatchRect_set_patch_margin:
 
 
 - void  **set_patch_margin**  **(** :ref:`int<class_int>` margin, :ref:`int<class_int>` value  **)**
 - void  **set_patch_margin**  **(** :ref:`int<class_int>` margin, :ref:`int<class_int>` value  **)**
@@ -87,4 +116,8 @@ Member Function Description
 
 
 - void  **set_texture**  **(** :ref:`Object<class_object>` texture  **)**
 - void  **set_texture**  **(** :ref:`Object<class_object>` texture  **)**
 
 
+.. _class_NinePatchRect_set_v_axis_stretch_mode:
+
+- void  **set_v_axis_stretch_mode**  **(** :ref:`int<class_int>` mode  **)**
+
 
 

+ 7 - 12
classes/class_node.rst

@@ -8,7 +8,7 @@ Node
 
 
 **Inherits:** :ref:`Object<class_object>`
 **Inherits:** :ref:`Object<class_object>`
 
 
-**Inherited By:** :ref:`Viewport<class_viewport>`, :ref:`Timer<class_timer>`, :ref:`CanvasLayer<class_canvaslayer>`, :ref:`Tween<class_tween>`, :ref:`Spatial<class_spatial>`, :ref:`AnimationPlayer<class_animationplayer>`, :ref:`EditorFileSystem<class_editorfilesystem>`, :ref:`EditorPlugin<class_editorplugin>`, :ref:`ResourcePreloader<class_resourcepreloader>`, :ref:`AnimationTreePlayer<class_animationtreeplayer>`, :ref:`InstancePlaceholder<class_instanceplaceholder>`, :ref:`HTTPRequest<class_httprequest>`, :ref:`EditorResourcePreview<class_editorresourcepreview>`, :ref:`CanvasItem<class_canvasitem>`, :ref:`AudioPlayer<class_audioplayer>`
+**Inherited By:** :ref:`Viewport<class_viewport>`, :ref:`Timer<class_timer>`, :ref:`AudioStreamPlayer<class_audiostreamplayer>`, :ref:`CanvasLayer<class_canvaslayer>`, :ref:`Tween<class_tween>`, :ref:`Spatial<class_spatial>`, :ref:`AnimationPlayer<class_animationplayer>`, :ref:`EditorFileSystem<class_editorfilesystem>`, :ref:`EditorPlugin<class_editorplugin>`, :ref:`ResourcePreloader<class_resourcepreloader>`, :ref:`AnimationTreePlayer<class_animationtreeplayer>`, :ref:`WorldEnvironment<class_worldenvironment>`, :ref:`InstancePlaceholder<class_instanceplaceholder>`, :ref:`HTTPRequest<class_httprequest>`, :ref:`EditorResourcePreview<class_editorresourcepreview>`, :ref:`CanvasItem<class_canvasitem>`
 
 
 **Category:** Core
 **Category:** Core
 
 
@@ -63,7 +63,7 @@ Member Functions
 +------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`String<class_string>`        | :ref:`get_name<class_Node_get_name>`  **(** **)** const                                                                                                                         |
 | :ref:`String<class_string>`        | :ref:`get_name<class_Node_get_name>`  **(** **)** const                                                                                                                         |
 +------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`              | :ref:`get_network_mode<class_Node_get_network_mode>`  **(** **)** const                                                                                                         |
+| :ref:`int<class_int>`              | :ref:`get_network_master<class_Node_get_network_master>`  **(** **)** const                                                                                                     |
 +------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`Node<class_node>`            | :ref:`get_node<class_Node_get_node>`  **(** :ref:`NodePath<class_nodepath>` path  **)** const                                                                                   |
 | :ref:`Node<class_node>`            | :ref:`get_node<class_Node_get_node>`  **(** :ref:`NodePath<class_nodepath>` path  **)** const                                                                                   |
 +------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
@@ -171,7 +171,7 @@ Member Functions
 +------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                               | :ref:`set_name<class_Node_set_name>`  **(** :ref:`String<class_string>` name  **)**                                                                                             |
 | void                               | :ref:`set_name<class_Node_set_name>`  **(** :ref:`String<class_string>` name  **)**                                                                                             |
 +------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                               | :ref:`set_network_mode<class_Node_set_network_mode>`  **(** :ref:`int<class_int>` mode  **)**                                                                                   |
+| void                               | :ref:`set_network_master<class_Node_set_network_master>`  **(** :ref:`int<class_int>` id, :ref:`bool<class_bool>` recursive=true  **)**                                         |
 +------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                               | :ref:`set_owner<class_Node_set_owner>`  **(** :ref:`Node<class_node>` owner  **)**                                                                                              |
 | void                               | :ref:`set_owner<class_Node_set_owner>`  **(** :ref:`Node<class_node>` owner  **)**                                                                                              |
 +------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
@@ -226,9 +226,6 @@ Numeric Constants
 - **NOTIFICATION_TRANSLATION_CHANGED** = **24**
 - **NOTIFICATION_TRANSLATION_CHANGED** = **24**
 - **NOTIFICATION_INTERNAL_PROCESS** = **25**
 - **NOTIFICATION_INTERNAL_PROCESS** = **25**
 - **NOTIFICATION_INTERNAL_FIXED_PROCESS** = **26**
 - **NOTIFICATION_INTERNAL_FIXED_PROCESS** = **26**
-- **NETWORK_MODE_INHERIT** = **0**
-- **NETWORK_MODE_MASTER** = **1**
-- **NETWORK_MODE_SLAVE** = **2**
 - **RPC_MODE_DISABLED** = **0**
 - **RPC_MODE_DISABLED** = **0**
 - **RPC_MODE_REMOTE** = **1**
 - **RPC_MODE_REMOTE** = **1**
 - **RPC_MODE_SYNC** = **2**
 - **RPC_MODE_SYNC** = **2**
@@ -406,9 +403,9 @@ Get the node index, i.e. its position among the siblings of its parent.
 
 
 Return the name of the node. This name is unique among the siblings (other child nodes from the same parent).
 Return the name of the node. This name is unique among the siblings (other child nodes from the same parent).
 
 
-.. _class_Node_get_network_mode:
+.. _class_Node_get_network_master:
 
 
-- :ref:`int<class_int>`  **get_network_mode**  **(** **)** const
+- :ref:`int<class_int>`  **get_network_master**  **(** **)** const
 
 
 .. _class_Node_get_node:
 .. _class_Node_get_node:
 
 
@@ -712,11 +709,9 @@ Enables or disables node fixed framerate processing. When a node is being proces
 
 
 Set the name of the :ref:`Node<class_node>`. Name must be unique within parent, and setting an already existing name will cause for the node to be automatically renamed.
 Set the name of the :ref:`Node<class_node>`. Name must be unique within parent, and setting an already existing name will cause for the node to be automatically renamed.
 
 
-.. _class_Node_set_network_mode:
+.. _class_Node_set_network_master:
 
 
-- void  **set_network_mode**  **(** :ref:`int<class_int>` mode  **)**
-
-Change the networking mode of the :ref:`Node<class_node>`, where *mode* is one of the constants NETWORK_MODE\_\*. Master nodes will only call gdscript methods defined as *master func* if a RPC call is received (slave nodes will only call *slave func*; both will call *remote func* if the call is not local, and *sync func* in any case). Inherit mode looks at the parent node to determine the value (root node depends on the :ref:`SceneTree<class_scenetree>` having a networking peer set with :ref:`SceneTree.set_network_peer<class_SceneTree_set_network_peer>`)
+- void  **set_network_master**  **(** :ref:`int<class_int>` id, :ref:`bool<class_bool>` recursive=true  **)**
 
 
 .. _class_Node_set_owner:
 .. _class_Node_set_owner:
 
 

+ 1 - 1
classes/class_node2d.rst

@@ -8,7 +8,7 @@ Node2D
 
 
 **Inherits:** :ref:`CanvasItem<class_canvasitem>` **<** :ref:`Node<class_node>` **<** :ref:`Object<class_object>`
 **Inherits:** :ref:`CanvasItem<class_canvasitem>` **<** :ref:`Node<class_node>` **<** :ref:`Object<class_object>`
 
 
-**Inherited By:** :ref:`RemoteTransform2D<class_remotetransform2d>`, :ref:`Joint2D<class_joint2d>`, :ref:`ParticleAttractor2D<class_particleattractor2d>`, :ref:`ParallaxLayer<class_parallaxlayer>`, :ref:`Line2D<class_line2d>`, :ref:`VisibilityNotifier2D<class_visibilitynotifier2d>`, :ref:`Navigation2D<class_navigation2d>`, :ref:`CollisionPolygon2D<class_collisionpolygon2d>`, :ref:`TouchScreenButton<class_touchscreenbutton>`, :ref:`Particles2D<class_particles2d>`, :ref:`AnimatedSprite<class_animatedsprite>`, :ref:`Light2D<class_light2d>`, :ref:`Path2D<class_path2d>`, :ref:`Sprite<class_sprite>`, :ref:`RayCast2D<class_raycast2d>`, :ref:`CollisionShape2D<class_collisionshape2d>`, :ref:`NavigationPolygonInstance<class_navigationpolygoninstance>`, :ref:`PathFollow2D<class_pathfollow2d>`, :ref:`Polygon2D<class_polygon2d>`, :ref:`Position2D<class_position2d>`, :ref:`LightOccluder2D<class_lightoccluder2d>`, :ref:`CollisionObject2D<class_collisionobject2d>`, :ref:`BackBufferCopy<class_backbuffercopy>`, :ref:`CanvasModulate<class_canvasmodulate>`, :ref:`YSort<class_ysort>`, :ref:`TileMap<class_tilemap>`, :ref:`Camera2D<class_camera2d>`
+**Inherited By:** :ref:`RemoteTransform2D<class_remotetransform2d>`, :ref:`Joint2D<class_joint2d>`, :ref:`ParallaxLayer<class_parallaxlayer>`, :ref:`Line2D<class_line2d>`, :ref:`VisibilityNotifier2D<class_visibilitynotifier2d>`, :ref:`Navigation2D<class_navigation2d>`, :ref:`CollisionPolygon2D<class_collisionpolygon2d>`, :ref:`TouchScreenButton<class_touchscreenbutton>`, :ref:`Particles2D<class_particles2d>`, :ref:`AnimatedSprite<class_animatedsprite>`, :ref:`Light2D<class_light2d>`, :ref:`Path2D<class_path2d>`, :ref:`AudioStreamPlayer2D<class_audiostreamplayer2d>`, :ref:`Sprite<class_sprite>`, :ref:`RayCast2D<class_raycast2d>`, :ref:`CollisionShape2D<class_collisionshape2d>`, :ref:`NavigationPolygonInstance<class_navigationpolygoninstance>`, :ref:`PathFollow2D<class_pathfollow2d>`, :ref:`Polygon2D<class_polygon2d>`, :ref:`Position2D<class_position2d>`, :ref:`LightOccluder2D<class_lightoccluder2d>`, :ref:`CollisionObject2D<class_collisionobject2d>`, :ref:`BackBufferCopy<class_backbuffercopy>`, :ref:`CanvasModulate<class_canvasmodulate>`, :ref:`YSort<class_ysort>`, :ref:`TileMap<class_tilemap>`, :ref:`Camera2D<class_camera2d>`
 
 
 **Category:** Core
 **Category:** Core
 
 

+ 21 - 5
classes/class_object.rst

@@ -6,7 +6,7 @@
 Object
 Object
 ======
 ======
 
 
-**Inherited By:** :ref:`Reference<class_reference>`, :ref:`Physics2DServer<class_physics2dserver>`, :ref:`PhysicsDirectBodyState<class_physicsdirectbodystate>`, :ref:`Input<class_input>`, :ref:`Node<class_node>`, :ref:`Geometry<class_geometry>`, :ref:`TreeItem<class_treeitem>`, :ref:`PhysicsDirectSpaceState<class_physicsdirectspacestate>`, :ref:`Engine<class_engine>`, :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:`ResourceLoader<class_resourceloader>`, :ref:`AudioServer<class_audioserver>`, :ref:`VisualServer<class_visualserver>`, :ref:`IP<class_ip>`, :ref:`ClassDB<class_classdb>`, :ref:`OS<class_os>`, :ref:`GlobalConfig<class_globalconfig>`, :ref:`EditorSelection<class_editorselection>`, :ref:`Physics2DDirectBodyState<class_physics2ddirectbodystate>`, :ref:`TranslationServer<class_translationserver>`, :ref:`EditorFileSystemDirectory<class_editorfilesystemdirectory>`
+**Inherited By:** :ref:`Reference<class_reference>`, :ref:`Physics2DServer<class_physics2dserver>`, :ref:`Input<class_input>`, :ref:`Node<class_node>`, :ref:`Geometry<class_geometry>`, :ref:`TreeItem<class_treeitem>`, :ref:`PhysicsDirectSpaceState<class_physicsdirectspacestate>`, :ref:`Engine<class_engine>`, :ref:`Physics2DDirectSpaceState<class_physics2ddirectspacestate>`, :ref:`MainLoop<class_mainloop>`, :ref:`InputMap<class_inputmap>`, :ref:`UndoRedo<class_undoredo>`, :ref:`PhysicsServer<class_physicsserver>`, :ref:`ProjectSettings<class_projectsettings>`, :ref:`ResourceSaver<class_resourcesaver>`, :ref:`Performance<class_performance>`, :ref:`ResourceLoader<class_resourceloader>`, :ref:`AudioServer<class_audioserver>`, :ref:`VisualServer<class_visualserver>`, :ref:`IP<class_ip>`, :ref:`ClassDB<class_classdb>`, :ref:`OS<class_os>`, :ref:`PhysicsDirectBodyState<class_physicsdirectbodystate>`, :ref:`EditorSelection<class_editorselection>`, :ref:`Physics2DDirectBodyState<class_physics2ddirectbodystate>`, :ref:`TranslationServer<class_translationserver>`, :ref:`EditorFileSystemDirectory<class_editorfilesystemdirectory>`
 
 
 **Category:** Core
 **Category:** Core
 
 
@@ -53,9 +53,11 @@ Member Functions
 +------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`String<class_string>`                    | :ref:`get_class<class_Object_get_class>`  **(** **)** const                                                                                                                                                                      |
 | :ref:`String<class_string>`                    | :ref:`get_class<class_Object_get_class>`  **(** **)** const                                                                                                                                                                      |
 +------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Array<class_array>`                      | :ref:`get_incoming_connections<class_Object_get_incoming_connections>`  **(** **)** const                                                                                                                                        |
++------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`int<class_int>`                          | :ref:`get_instance_ID<class_Object_get_instance_ID>`  **(** **)** 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:`Variant<class_variant>`                  | :ref:`get_meta<class_Object_get_meta>`  **(** :ref:`String<class_string>` name  **)** const                                                                                                                                      |
 +------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`PoolStringArray<class_poolstringarray>`  | :ref:`get_meta_list<class_Object_get_meta_list>`  **(** **)** const                                                                                                                                                              |
 | :ref:`PoolStringArray<class_poolstringarray>`  | :ref:`get_meta_list<class_Object_get_meta_list>`  **(** **)** const                                                                                                                                                              |
 +------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
@@ -146,7 +148,7 @@ Return a property, return null if the property does not exist.
 
 
 - :ref:`Array<class_array>`  **_get_property_list**  **(** **)** virtual
 - :ref:`Array<class_array>`  **_get_property_list**  **(** **)** virtual
 
 
-Return the property list, array of dictionaries, dictionaries must contain: name:String, type:int (see TYPE\_\* enum in globals) and optionally: hint:int (see PROPERTY_HINT\_\* in globals), hint_string:String, usage:int (see PROPERTY_USAGE\_\* in globals).
+Return the property list, array of dictionaries, dictionaries must contain: name:String, type:int (see TYPE\_\* enum in :ref:`@Global Scope<class_@global scope>`) and optionally: hint:int (see PROPERTY_HINT\_\* in :ref:`@Global Scope<class_@global scope>`), hint_string:String, usage:int (see PROPERTY_USAGE\_\* in :ref:`@Global Scope<class_@global scope>`).
 
 
 .. _class_Object__init:
 .. _class_Object__init:
 
 
@@ -220,6 +222,20 @@ Get a property from the object.
 
 
 Return the class of the object as a string.
 Return the class of the object as a string.
 
 
+.. _class_Object_get_incoming_connections:
+
+- :ref:`Array<class_array>`  **get_incoming_connections**  **(** **)** const
+
+Returns an :ref:`Array<class_array>` of dictionaries with informations about signals that are connected to this object.
+
+Inside each :ref:`Dictionary<class_dictionary>` there are 3 fields:
+
+- "source" is a reference to signal emitter.
+
+- "signal_name" is name of connected signal.
+
+- "method_name" is a name of method to which signal is connected.
+
 .. _class_Object_get_instance_ID:
 .. _class_Object_get_instance_ID:
 
 
 - :ref:`int<class_int>`  **get_instance_ID**  **(** **)** const
 - :ref:`int<class_int>`  **get_instance_ID**  **(** **)** const
@@ -228,7 +244,7 @@ Return the instance ID. All objects have a unique instance ID.
 
 
 .. _class_Object_get_meta:
 .. _class_Object_get_meta:
 
 
-- void  **get_meta**  **(** :ref:`String<class_string>` name  **)** const
+- :ref:`Variant<class_variant>`  **get_meta**  **(** :ref:`String<class_string>` name  **)** const
 
 
 Return a metadata from the object.
 Return a metadata from the object.
 
 
@@ -246,7 +262,7 @@ Return the list of metadata in the object.
 
 
 - :ref:`Array<class_array>`  **get_property_list**  **(** **)** const
 - :ref:`Array<class_array>`  **get_property_list**  **(** **)** const
 
 
-Return the list of properties as an array of dictionaries, dictionaries contain: name:String, type:int (see TYPE\_\* enum in globals) and optionally: hint:int (see PROPERTY_HINT\_\* in globals), hint_string:String, usage:int (see PROPERTY_USAGE\_\* in globals).
+Return the list of properties as an array of dictionaries, dictionaries contain: name:String, type:int (see TYPE\_\* enum in :ref:`@Global Scope<class_@global scope>`) and optionally: hint:int (see PROPERTY_HINT\_\* in :ref:`@Global Scope<class_@global scope>`), hint_string:String, usage:int (see PROPERTY_USAGE\_\* in :ref:`@Global Scope<class_@global scope>`).
 
 
 .. _class_Object_get_script:
 .. _class_Object_get_script:
 
 

+ 4 - 4
classes/class_optionbutton.rst

@@ -33,7 +33,7 @@ Member Functions
 +--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`Texture<class_texture>`  | :ref:`get_item_icon<class_OptionButton_get_item_icon>`  **(** :ref:`int<class_int>` idx  **)** const                                                                    |
 | :ref:`Texture<class_texture>`  | :ref:`get_item_icon<class_OptionButton_get_item_icon>`  **(** :ref:`int<class_int>` idx  **)** const                                                                    |
 +--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                           | :ref:`get_item_metadata<class_OptionButton_get_item_metadata>`  **(** :ref:`int<class_int>` idx  **)** const                                                            |
+| :ref:`Variant<class_variant>`  | :ref:`get_item_metadata<class_OptionButton_get_item_metadata>`  **(** :ref:`int<class_int>` idx  **)** const                                                            |
 +--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`String<class_string>`    | :ref:`get_item_text<class_OptionButton_get_item_text>`  **(** :ref:`int<class_int>` idx  **)** const                                                                    |
 | :ref:`String<class_string>`    | :ref:`get_item_text<class_OptionButton_get_item_text>`  **(** :ref:`int<class_int>` idx  **)** const                                                                    |
 +--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
@@ -41,7 +41,7 @@ Member Functions
 +--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`int<class_int>`          | :ref:`get_selected_ID<class_OptionButton_get_selected_ID>`  **(** **)** const                                                                                           |
 | :ref:`int<class_int>`          | :ref:`get_selected_ID<class_OptionButton_get_selected_ID>`  **(** **)** const                                                                                           |
 +--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                           | :ref:`get_selected_metadata<class_OptionButton_get_selected_metadata>`  **(** **)** const                                                                               |
+| :ref:`Variant<class_variant>`  | :ref:`get_selected_metadata<class_OptionButton_get_selected_metadata>`  **(** **)** const                                                                               |
 +--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`bool<class_bool>`        | :ref:`is_item_disabled<class_OptionButton_is_item_disabled>`  **(** :ref:`int<class_int>` idx  **)** const                                                              |
 | :ref:`bool<class_bool>`        | :ref:`is_item_disabled<class_OptionButton_is_item_disabled>`  **(** :ref:`int<class_int>` idx  **)** const                                                              |
 +--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
@@ -125,7 +125,7 @@ Return the icon of the item at index "idx".
 
 
 .. _class_OptionButton_get_item_metadata:
 .. _class_OptionButton_get_item_metadata:
 
 
-- void  **get_item_metadata**  **(** :ref:`int<class_int>` idx  **)** const
+- :ref:`Variant<class_variant>`  **get_item_metadata**  **(** :ref:`int<class_int>` idx  **)** const
 
 
 .. _class_OptionButton_get_item_text:
 .. _class_OptionButton_get_item_text:
 
 
@@ -145,7 +145,7 @@ Return the current item index
 
 
 .. _class_OptionButton_get_selected_metadata:
 .. _class_OptionButton_get_selected_metadata:
 
 
-- void  **get_selected_metadata**  **(** **)** const
+- :ref:`Variant<class_variant>`  **get_selected_metadata**  **(** **)** const
 
 
 .. _class_OptionButton_is_item_disabled:
 .. _class_OptionButton_is_item_disabled:
 
 

+ 7 - 1
classes/class_os.rst

@@ -179,6 +179,8 @@ Member Functions
 +------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                           | :ref:`set_icon<class_OS_set_icon>`  **(** :ref:`Object<class_object>` icon  **)**                                                                                                                                          |
 | void                                           | :ref:`set_icon<class_OS_set_icon>`  **(** :ref:`Object<class_object>` icon  **)**                                                                                                                                          |
 +------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                           | :ref:`set_ime_position<class_OS_set_ime_position>`  **(** :ref:`Vector2<class_vector2>` arg0  **)**                                                                                                                        |
++------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                           | :ref:`set_keep_screen_on<class_OS_set_keep_screen_on>`  **(** :ref:`bool<class_bool>` enabled  **)**                                                                                                                       |
 | void                                           | :ref:`set_keep_screen_on<class_OS_set_keep_screen_on>`  **(** :ref:`bool<class_bool>` enabled  **)**                                                                                                                       |
 +------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                           | :ref:`set_low_processor_usage_mode<class_OS_set_low_processor_usage_mode>`  **(** :ref:`bool<class_bool>` enable  **)**                                                                                                    |
 | void                                           | :ref:`set_low_processor_usage_mode<class_OS_set_low_processor_usage_mode>`  **(** :ref:`bool<class_bool>` enable  **)**                                                                                                    |
@@ -349,7 +351,7 @@ Returns the current screen index (0 padded).
 
 
 - :ref:`String<class_string>`  **get_data_dir**  **(** **)** const
 - :ref:`String<class_string>`  **get_data_dir**  **(** **)** const
 
 
-Return the absolute directory path of user data path(:ref:`user://<class_user://>`).
+Return the absolute directory path of user data path(user://).
 
 
 .. _class_OS_get_date:
 .. _class_OS_get_date:
 
 
@@ -713,6 +715,10 @@ Set clipboard to the OS.
 
 
 - void  **set_icon**  **(** :ref:`Object<class_object>` icon  **)**
 - void  **set_icon**  **(** :ref:`Object<class_object>` icon  **)**
 
 
+.. _class_OS_set_ime_position:
+
+- void  **set_ime_position**  **(** :ref:`Vector2<class_vector2>` arg0  **)**
+
 .. _class_OS_set_keep_screen_on:
 .. _class_OS_set_keep_screen_on:
 
 
 - void  **set_keep_screen_on**  **(** :ref:`bool<class_bool>` enabled  **)**
 - void  **set_keep_screen_on**  **(** :ref:`bool<class_bool>` enabled  **)**

+ 1 - 1
classes/class_packetpeerudp.rst

@@ -37,7 +37,7 @@ Member Functions
 Description
 Description
 -----------
 -----------
 
 
-UDP packet peer. Can be used to send raw UDP packets as well as :ref:`Variant<class_variant>`s.
+UDP packet peer. Can be used to send raw UDP packets as well as :ref:`Variant<class_variant>`\ s.
 
 
 Member Function Description
 Member Function Description
 ---------------------------
 ---------------------------

+ 2 - 0
classes/class_panelcontainer.rst

@@ -8,6 +8,8 @@ PanelContainer
 
 
 **Inherits:** :ref:`Container<class_container>` **<** :ref:`Control<class_control>` **<** :ref:`CanvasItem<class_canvasitem>` **<** :ref:`Node<class_node>` **<** :ref:`Object<class_object>`
 **Inherits:** :ref:`Container<class_container>` **<** :ref:`Control<class_control>` **<** :ref:`CanvasItem<class_canvasitem>` **<** :ref:`Node<class_node>` **<** :ref:`Object<class_object>`
 
 
+**Inherited By:** :ref:`ScriptEditor<class_scripteditor>`
+
 **Category:** Core
 **Category:** Core
 
 
 Brief Description
 Brief Description

+ 0 - 108
classes/class_particleattractor2d.rst

@@ -1,108 +0,0 @@
-.. 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_ParticleAttractor2D:
-
-ParticleAttractor2D
-===================
-
-**Inherits:** :ref:`Node2D<class_node2d>` **<** :ref:`CanvasItem<class_canvasitem>` **<** :ref:`Node<class_node>` **<** :ref:`Object<class_object>`
-
-**Category:** Core
-
-Brief Description
------------------
-
-
-
-Member Functions
-----------------
-
-+----------------------------------+----------------------------------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`        | :ref:`get_absorption<class_ParticleAttractor2D_get_absorption>`  **(** **)** const                                         |
-+----------------------------------+----------------------------------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`        | :ref:`get_disable_radius<class_ParticleAttractor2D_get_disable_radius>`  **(** **)** const                                 |
-+----------------------------------+----------------------------------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`        | :ref:`get_gravity<class_ParticleAttractor2D_get_gravity>`  **(** **)** const                                               |
-+----------------------------------+----------------------------------------------------------------------------------------------------------------------------+
-| :ref:`NodePath<class_nodepath>`  | :ref:`get_particles_path<class_ParticleAttractor2D_get_particles_path>`  **(** **)** const                                 |
-+----------------------------------+----------------------------------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`        | :ref:`get_radius<class_ParticleAttractor2D_get_radius>`  **(** **)** const                                                 |
-+----------------------------------+----------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`          | :ref:`is_enabled<class_ParticleAttractor2D_is_enabled>`  **(** **)** const                                                 |
-+----------------------------------+----------------------------------------------------------------------------------------------------------------------------+
-| void                             | :ref:`set_absorption<class_ParticleAttractor2D_set_absorption>`  **(** :ref:`float<class_float>` absorption  **)**         |
-+----------------------------------+----------------------------------------------------------------------------------------------------------------------------+
-| void                             | :ref:`set_disable_radius<class_ParticleAttractor2D_set_disable_radius>`  **(** :ref:`float<class_float>` radius  **)**     |
-+----------------------------------+----------------------------------------------------------------------------------------------------------------------------+
-| void                             | :ref:`set_enabled<class_ParticleAttractor2D_set_enabled>`  **(** :ref:`bool<class_bool>` enabled  **)**                    |
-+----------------------------------+----------------------------------------------------------------------------------------------------------------------------+
-| void                             | :ref:`set_gravity<class_ParticleAttractor2D_set_gravity>`  **(** :ref:`float<class_float>` gravity  **)**                  |
-+----------------------------------+----------------------------------------------------------------------------------------------------------------------------+
-| void                             | :ref:`set_particles_path<class_ParticleAttractor2D_set_particles_path>`  **(** :ref:`NodePath<class_nodepath>` path  **)** |
-+----------------------------------+----------------------------------------------------------------------------------------------------------------------------+
-| void                             | :ref:`set_radius<class_ParticleAttractor2D_set_radius>`  **(** :ref:`float<class_float>` radius  **)**                     |
-+----------------------------------+----------------------------------------------------------------------------------------------------------------------------+
-
-Member Variables
-----------------
-
-- :ref:`float<class_float>` **absorption**
-- :ref:`float<class_float>` **disable_radius**
-- :ref:`bool<class_bool>` **enabled**
-- :ref:`float<class_float>` **gravity**
-- :ref:`NodePath<class_nodepath>` **particles_path**
-- :ref:`float<class_float>` **radius**
-
-Member Function Description
----------------------------
-
-.. _class_ParticleAttractor2D_get_absorption:
-
-- :ref:`float<class_float>`  **get_absorption**  **(** **)** const
-
-.. _class_ParticleAttractor2D_get_disable_radius:
-
-- :ref:`float<class_float>`  **get_disable_radius**  **(** **)** const
-
-.. _class_ParticleAttractor2D_get_gravity:
-
-- :ref:`float<class_float>`  **get_gravity**  **(** **)** const
-
-.. _class_ParticleAttractor2D_get_particles_path:
-
-- :ref:`NodePath<class_nodepath>`  **get_particles_path**  **(** **)** const
-
-.. _class_ParticleAttractor2D_get_radius:
-
-- :ref:`float<class_float>`  **get_radius**  **(** **)** const
-
-.. _class_ParticleAttractor2D_is_enabled:
-
-- :ref:`bool<class_bool>`  **is_enabled**  **(** **)** const
-
-.. _class_ParticleAttractor2D_set_absorption:
-
-- void  **set_absorption**  **(** :ref:`float<class_float>` absorption  **)**
-
-.. _class_ParticleAttractor2D_set_disable_radius:
-
-- void  **set_disable_radius**  **(** :ref:`float<class_float>` radius  **)**
-
-.. _class_ParticleAttractor2D_set_enabled:
-
-- void  **set_enabled**  **(** :ref:`bool<class_bool>` enabled  **)**
-
-.. _class_ParticleAttractor2D_set_gravity:
-
-- void  **set_gravity**  **(** :ref:`float<class_float>` gravity  **)**
-
-.. _class_ParticleAttractor2D_set_particles_path:
-
-- void  **set_particles_path**  **(** :ref:`NodePath<class_nodepath>` path  **)**
-
-.. _class_ParticleAttractor2D_set_radius:
-
-- void  **set_radius**  **(** :ref:`float<class_float>` radius  **)**
-
-

+ 20 - 1
classes/class_particles.rst

@@ -37,6 +37,8 @@ Member Functions
 +----------------------------------+--------------------------------------------------------------------------------------------------------------------------------------+
 +----------------------------------+--------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`float<class_float>`        | :ref:`get_lifetime<class_Particles_get_lifetime>`  **(** **)** const                                                                 |
 | :ref:`float<class_float>`        | :ref:`get_lifetime<class_Particles_get_lifetime>`  **(** **)** const                                                                 |
 +----------------------------------+--------------------------------------------------------------------------------------------------------------------------------------+
 +----------------------------------+--------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`          | :ref:`get_one_shot<class_Particles_get_one_shot>`  **(** **)** const                                                                 |
++----------------------------------+--------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`float<class_float>`        | :ref:`get_pre_process_time<class_Particles_get_pre_process_time>`  **(** **)** const                                                 |
 | :ref:`float<class_float>`        | :ref:`get_pre_process_time<class_Particles_get_pre_process_time>`  **(** **)** const                                                 |
 +----------------------------------+--------------------------------------------------------------------------------------------------------------------------------------+
 +----------------------------------+--------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`Material<class_material>`  | :ref:`get_process_material<class_Particles_get_process_material>`  **(** **)** const                                                 |
 | :ref:`Material<class_material>`  | :ref:`get_process_material<class_Particles_get_process_material>`  **(** **)** const                                                 |
@@ -51,6 +53,8 @@ Member Functions
 +----------------------------------+--------------------------------------------------------------------------------------------------------------------------------------+
 +----------------------------------+--------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`bool<class_bool>`          | :ref:`is_emitting<class_Particles_is_emitting>`  **(** **)** const                                                                   |
 | :ref:`bool<class_bool>`          | :ref:`is_emitting<class_Particles_is_emitting>`  **(** **)** const                                                                   |
 +----------------------------------+--------------------------------------------------------------------------------------------------------------------------------------+
 +----------------------------------+--------------------------------------------------------------------------------------------------------------------------------------+
+| void                             | :ref:`restart<class_Particles_restart>`  **(** **)**                                                                                 |
++----------------------------------+--------------------------------------------------------------------------------------------------------------------------------------+
 | void                             | :ref:`set_amount<class_Particles_set_amount>`  **(** :ref:`int<class_int>` amount  **)**                                             |
 | void                             | :ref:`set_amount<class_Particles_set_amount>`  **(** :ref:`int<class_int>` amount  **)**                                             |
 +----------------------------------+--------------------------------------------------------------------------------------------------------------------------------------+
 +----------------------------------+--------------------------------------------------------------------------------------------------------------------------------------+
 | void                             | :ref:`set_draw_order<class_Particles_set_draw_order>`  **(** :ref:`int<class_int>` order  **)**                                      |
 | void                             | :ref:`set_draw_order<class_Particles_set_draw_order>`  **(** :ref:`int<class_int>` order  **)**                                      |
@@ -69,6 +73,8 @@ Member Functions
 +----------------------------------+--------------------------------------------------------------------------------------------------------------------------------------+
 +----------------------------------+--------------------------------------------------------------------------------------------------------------------------------------+
 | void                             | :ref:`set_lifetime<class_Particles_set_lifetime>`  **(** :ref:`float<class_float>` secs  **)**                                       |
 | void                             | :ref:`set_lifetime<class_Particles_set_lifetime>`  **(** :ref:`float<class_float>` secs  **)**                                       |
 +----------------------------------+--------------------------------------------------------------------------------------------------------------------------------------+
 +----------------------------------+--------------------------------------------------------------------------------------------------------------------------------------+
+| void                             | :ref:`set_one_shot<class_Particles_set_one_shot>`  **(** :ref:`bool<class_bool>` enable  **)**                                       |
++----------------------------------+--------------------------------------------------------------------------------------------------------------------------------------+
 | void                             | :ref:`set_pre_process_time<class_Particles_set_pre_process_time>`  **(** :ref:`float<class_float>` secs  **)**                       |
 | void                             | :ref:`set_pre_process_time<class_Particles_set_pre_process_time>`  **(** :ref:`float<class_float>` secs  **)**                       |
 +----------------------------------+--------------------------------------------------------------------------------------------------------------------------------------+
 +----------------------------------+--------------------------------------------------------------------------------------------------------------------------------------+
 | void                             | :ref:`set_process_material<class_Particles_set_process_material>`  **(** :ref:`Material<class_material>` material  **)**             |
 | void                             | :ref:`set_process_material<class_Particles_set_process_material>`  **(** :ref:`Material<class_material>` material  **)**             |
@@ -98,8 +104,9 @@ Member Variables
 - :ref:`bool<class_bool>` **fract_delta**
 - :ref:`bool<class_bool>` **fract_delta**
 - :ref:`float<class_float>` **lifetime**
 - :ref:`float<class_float>` **lifetime**
 - :ref:`bool<class_bool>` **local_coords**
 - :ref:`bool<class_bool>` **local_coords**
+- :ref:`bool<class_bool>` **one_shot**
 - :ref:`float<class_float>` **preprocess**
 - :ref:`float<class_float>` **preprocess**
-- ParticlesMaterial,ShaderMaterial **process_material**
+- ShaderMaterial,ParticlesMaterial **process_material**
 - :ref:`float<class_float>` **randomness**
 - :ref:`float<class_float>` **randomness**
 - :ref:`float<class_float>` **speed_scale**
 - :ref:`float<class_float>` **speed_scale**
 - :ref:`Rect3<class_rect3>` **visibility_aabb**
 - :ref:`Rect3<class_rect3>` **visibility_aabb**
@@ -151,6 +158,10 @@ Member Function Description
 
 
 - :ref:`float<class_float>`  **get_lifetime**  **(** **)** const
 - :ref:`float<class_float>`  **get_lifetime**  **(** **)** const
 
 
+.. _class_Particles_get_one_shot:
+
+- :ref:`bool<class_bool>`  **get_one_shot**  **(** **)** const
+
 .. _class_Particles_get_pre_process_time:
 .. _class_Particles_get_pre_process_time:
 
 
 - :ref:`float<class_float>`  **get_pre_process_time**  **(** **)** const
 - :ref:`float<class_float>`  **get_pre_process_time**  **(** **)** const
@@ -179,6 +190,10 @@ Member Function Description
 
 
 - :ref:`bool<class_bool>`  **is_emitting**  **(** **)** const
 - :ref:`bool<class_bool>`  **is_emitting**  **(** **)** const
 
 
+.. _class_Particles_restart:
+
+- void  **restart**  **(** **)**
+
 .. _class_Particles_set_amount:
 .. _class_Particles_set_amount:
 
 
 - void  **set_amount**  **(** :ref:`int<class_int>` amount  **)**
 - void  **set_amount**  **(** :ref:`int<class_int>` amount  **)**
@@ -215,6 +230,10 @@ Member Function Description
 
 
 - void  **set_lifetime**  **(** :ref:`float<class_float>` secs  **)**
 - void  **set_lifetime**  **(** :ref:`float<class_float>` secs  **)**
 
 
+.. _class_Particles_set_one_shot:
+
+- void  **set_one_shot**  **(** :ref:`bool<class_bool>` enable  **)**
+
 .. _class_Particles_set_pre_process_time:
 .. _class_Particles_set_pre_process_time:
 
 
 - void  **set_pre_process_time**  **(** :ref:`float<class_float>` secs  **)**
 - void  **set_pre_process_time**  **(** :ref:`float<class_float>` secs  **)**

+ 160 - 341
classes/class_particles2d.rst

@@ -18,202 +18,111 @@ Brief Description
 Member Functions
 Member Functions
 ----------------
 ----------------
 
 
-+--------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                            | :ref:`get_amount<class_Particles2D_get_amount>`  **(** **)** const                                                                               |
-+--------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Color<class_color>`                        | :ref:`get_color<class_Particles2D_get_color>`  **(** **)** const                                                                                 |
-+--------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Color<class_color>`                        | :ref:`get_color_phase_color<class_Particles2D_get_color_phase_color>`  **(** :ref:`int<class_int>` phase  **)** const                            |
-+--------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`                        | :ref:`get_color_phase_pos<class_Particles2D_get_color_phase_pos>`  **(** :ref:`int<class_int>` phase  **)** const                                |
-+--------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                            | :ref:`get_color_phases<class_Particles2D_get_color_phases>`  **(** **)** const                                                                   |
-+--------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Vector2<class_vector2>`                    | :ref:`get_emission_half_extents<class_Particles2D_get_emission_half_extents>`  **(** **)** const                                                 |
-+--------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`PoolVector2Array<class_poolvector2array>`  | :ref:`get_emission_points<class_Particles2D_get_emission_points>`  **(** **)** const                                                             |
-+--------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Vector2<class_vector2>`                    | :ref:`get_emissor_offset<class_Particles2D_get_emissor_offset>`  **(** **)** const                                                               |
-+--------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`                        | :ref:`get_emit_timeout<class_Particles2D_get_emit_timeout>`  **(** **)** const                                                                   |
-+--------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`                        | :ref:`get_explosiveness<class_Particles2D_get_explosiveness>`  **(** **)** const                                                                 |
-+--------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Gradient<class_gradient>`                  | :ref:`get_gradient<class_Particles2D_get_gradient>`  **(** **)** const                                                                           |
-+--------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                            | :ref:`get_h_frames<class_Particles2D_get_h_frames>`  **(** **)** const                                                                           |
-+--------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Vector2<class_vector2>`                    | :ref:`get_initial_velocity<class_Particles2D_get_initial_velocity>`  **(** **)** const                                                           |
-+--------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`                        | :ref:`get_lifetime<class_Particles2D_get_lifetime>`  **(** **)** const                                                                           |
-+--------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`                        | :ref:`get_param<class_Particles2D_get_param>`  **(** :ref:`int<class_int>` param  **)** const                                                    |
-+--------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`                        | :ref:`get_pre_process_time<class_Particles2D_get_pre_process_time>`  **(** **)** const                                                           |
-+--------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                            | :ref:`get_process_mode<class_Particles2D_get_process_mode>`  **(** **)** const                                                                   |
-+--------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`                        | :ref:`get_randomness<class_Particles2D_get_randomness>`  **(** :ref:`int<class_int>` param  **)** const                                          |
-+--------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Texture<class_texture>`                    | :ref:`get_texture<class_Particles2D_get_texture>`  **(** **)** const                                                                             |
-+--------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`                        | :ref:`get_time_scale<class_Particles2D_get_time_scale>`  **(** **)** const                                                                       |
-+--------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                            | :ref:`get_v_frames<class_Particles2D_get_v_frames>`  **(** **)** const                                                                           |
-+--------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                          | :ref:`is_emitting<class_Particles2D_is_emitting>`  **(** **)** const                                                                             |
-+--------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                          | :ref:`is_flipped_h<class_Particles2D_is_flipped_h>`  **(** **)** const                                                                           |
-+--------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                          | :ref:`is_flipped_v<class_Particles2D_is_flipped_v>`  **(** **)** const                                                                           |
-+--------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                          | :ref:`is_using_local_space<class_Particles2D_is_using_local_space>`  **(** **)** const                                                           |
-+--------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                             | :ref:`pre_process<class_Particles2D_pre_process>`  **(** :ref:`float<class_float>` time  **)**                                                   |
-+--------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                             | :ref:`reset<class_Particles2D_reset>`  **(** **)**                                                                                               |
-+--------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                             | :ref:`set_amount<class_Particles2D_set_amount>`  **(** :ref:`int<class_int>` amount  **)**                                                       |
-+--------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                             | :ref:`set_color<class_Particles2D_set_color>`  **(** :ref:`Color<class_color>` color  **)**                                                      |
-+--------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                             | :ref:`set_color_phase_color<class_Particles2D_set_color_phase_color>`  **(** :ref:`int<class_int>` phase, :ref:`Color<class_color>` color  **)** |
-+--------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                             | :ref:`set_color_phase_pos<class_Particles2D_set_color_phase_pos>`  **(** :ref:`int<class_int>` phase, :ref:`float<class_float>` pos  **)**       |
-+--------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                             | :ref:`set_color_phases<class_Particles2D_set_color_phases>`  **(** :ref:`int<class_int>` phases  **)**                                           |
-+--------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                             | :ref:`set_emission_half_extents<class_Particles2D_set_emission_half_extents>`  **(** :ref:`Vector2<class_vector2>` extents  **)**                |
-+--------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                             | :ref:`set_emission_points<class_Particles2D_set_emission_points>`  **(** :ref:`PoolVector2Array<class_poolvector2array>` points  **)**           |
-+--------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                             | :ref:`set_emissor_offset<class_Particles2D_set_emissor_offset>`  **(** :ref:`Vector2<class_vector2>` offset  **)**                               |
-+--------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                             | :ref:`set_emit_timeout<class_Particles2D_set_emit_timeout>`  **(** :ref:`float<class_float>` value  **)**                                        |
-+--------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                             | :ref:`set_emitting<class_Particles2D_set_emitting>`  **(** :ref:`bool<class_bool>` active  **)**                                                 |
-+--------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                             | :ref:`set_explosiveness<class_Particles2D_set_explosiveness>`  **(** :ref:`float<class_float>` amount  **)**                                     |
-+--------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                             | :ref:`set_flip_h<class_Particles2D_set_flip_h>`  **(** :ref:`bool<class_bool>` enable  **)**                                                     |
-+--------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                             | :ref:`set_flip_v<class_Particles2D_set_flip_v>`  **(** :ref:`bool<class_bool>` enable  **)**                                                     |
-+--------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Gradient<class_gradient>`                  | :ref:`set_gradient<class_Particles2D_set_gradient>`  **(** :ref:`Object<class_object>` gradient  **)**                                           |
-+--------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                             | :ref:`set_h_frames<class_Particles2D_set_h_frames>`  **(** :ref:`int<class_int>` enable  **)**                                                   |
-+--------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                             | :ref:`set_initial_velocity<class_Particles2D_set_initial_velocity>`  **(** :ref:`Vector2<class_vector2>` velocity  **)**                         |
-+--------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                             | :ref:`set_lifetime<class_Particles2D_set_lifetime>`  **(** :ref:`float<class_float>` lifetime  **)**                                             |
-+--------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                             | :ref:`set_param<class_Particles2D_set_param>`  **(** :ref:`int<class_int>` param, :ref:`float<class_float>` value  **)**                         |
-+--------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                             | :ref:`set_pre_process_time<class_Particles2D_set_pre_process_time>`  **(** :ref:`float<class_float>` time  **)**                                 |
-+--------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                             | :ref:`set_process_mode<class_Particles2D_set_process_mode>`  **(** :ref:`int<class_int>` mode  **)**                                             |
-+--------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                             | :ref:`set_randomness<class_Particles2D_set_randomness>`  **(** :ref:`int<class_int>` param, :ref:`float<class_float>` value  **)**               |
-+--------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Texture<class_texture>`                    | :ref:`set_texture<class_Particles2D_set_texture>`  **(** :ref:`Object<class_object>` texture  **)**                                              |
-+--------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                             | :ref:`set_time_scale<class_Particles2D_set_time_scale>`  **(** :ref:`float<class_float>` time_scale  **)**                                       |
-+--------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                             | :ref:`set_use_local_space<class_Particles2D_set_use_local_space>`  **(** :ref:`bool<class_bool>` enable  **)**                                   |
-+--------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                             | :ref:`set_v_frames<class_Particles2D_set_v_frames>`  **(** :ref:`int<class_int>` enable  **)**                                                   |
-+--------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+
-
-Signals
--------
-
--  **emission_finished**  **(** **)**
++----------------------------------+----------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Rect2<class_rect2>`        | :ref:`capture_rect<class_Particles2D_capture_rect>`  **(** **)** const                                                     |
++----------------------------------+----------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`            | :ref:`get_amount<class_Particles2D_get_amount>`  **(** **)** const                                                         |
++----------------------------------+----------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`            | :ref:`get_draw_order<class_Particles2D_get_draw_order>`  **(** **)** const                                                 |
++----------------------------------+----------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`        | :ref:`get_explosiveness_ratio<class_Particles2D_get_explosiveness_ratio>`  **(** **)** const                               |
++----------------------------------+----------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`            | :ref:`get_fixed_fps<class_Particles2D_get_fixed_fps>`  **(** **)** const                                                   |
++----------------------------------+----------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`          | :ref:`get_fractional_delta<class_Particles2D_get_fractional_delta>`  **(** **)** const                                     |
++----------------------------------+----------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`            | :ref:`get_h_frames<class_Particles2D_get_h_frames>`  **(** **)** const                                                     |
++----------------------------------+----------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`        | :ref:`get_lifetime<class_Particles2D_get_lifetime>`  **(** **)** const                                                     |
++----------------------------------+----------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Texture<class_texture>`    | :ref:`get_normal_map<class_Particles2D_get_normal_map>`  **(** **)** const                                                 |
++----------------------------------+----------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`          | :ref:`get_one_shot<class_Particles2D_get_one_shot>`  **(** **)** const                                                     |
++----------------------------------+----------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`        | :ref:`get_pre_process_time<class_Particles2D_get_pre_process_time>`  **(** **)** const                                     |
++----------------------------------+----------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Material<class_material>`  | :ref:`get_process_material<class_Particles2D_get_process_material>`  **(** **)** const                                     |
++----------------------------------+----------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`        | :ref:`get_randomness_ratio<class_Particles2D_get_randomness_ratio>`  **(** **)** const                                     |
++----------------------------------+----------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`        | :ref:`get_speed_scale<class_Particles2D_get_speed_scale>`  **(** **)** const                                               |
++----------------------------------+----------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Texture<class_texture>`    | :ref:`get_texture<class_Particles2D_get_texture>`  **(** **)** const                                                       |
++----------------------------------+----------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`          | :ref:`get_use_local_coordinates<class_Particles2D_get_use_local_coordinates>`  **(** **)** const                           |
++----------------------------------+----------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`            | :ref:`get_v_frames<class_Particles2D_get_v_frames>`  **(** **)** const                                                     |
++----------------------------------+----------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Rect2<class_rect2>`        | :ref:`get_visibility_rect<class_Particles2D_get_visibility_rect>`  **(** **)** const                                       |
++----------------------------------+----------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`          | :ref:`is_emitting<class_Particles2D_is_emitting>`  **(** **)** const                                                       |
++----------------------------------+----------------------------------------------------------------------------------------------------------------------------+
+| void                             | :ref:`restart<class_Particles2D_restart>`  **(** **)**                                                                     |
++----------------------------------+----------------------------------------------------------------------------------------------------------------------------+
+| void                             | :ref:`set_amount<class_Particles2D_set_amount>`  **(** :ref:`int<class_int>` amount  **)**                                 |
++----------------------------------+----------------------------------------------------------------------------------------------------------------------------+
+| void                             | :ref:`set_draw_order<class_Particles2D_set_draw_order>`  **(** :ref:`int<class_int>` order  **)**                          |
++----------------------------------+----------------------------------------------------------------------------------------------------------------------------+
+| void                             | :ref:`set_emitting<class_Particles2D_set_emitting>`  **(** :ref:`bool<class_bool>` emitting  **)**                         |
++----------------------------------+----------------------------------------------------------------------------------------------------------------------------+
+| void                             | :ref:`set_explosiveness_ratio<class_Particles2D_set_explosiveness_ratio>`  **(** :ref:`float<class_float>` ratio  **)**    |
++----------------------------------+----------------------------------------------------------------------------------------------------------------------------+
+| void                             | :ref:`set_fixed_fps<class_Particles2D_set_fixed_fps>`  **(** :ref:`int<class_int>` fps  **)**                              |
++----------------------------------+----------------------------------------------------------------------------------------------------------------------------+
+| void                             | :ref:`set_fractional_delta<class_Particles2D_set_fractional_delta>`  **(** :ref:`bool<class_bool>` enable  **)**           |
++----------------------------------+----------------------------------------------------------------------------------------------------------------------------+
+| void                             | :ref:`set_h_frames<class_Particles2D_set_h_frames>`  **(** :ref:`int<class_int>` frames  **)**                             |
++----------------------------------+----------------------------------------------------------------------------------------------------------------------------+
+| void                             | :ref:`set_lifetime<class_Particles2D_set_lifetime>`  **(** :ref:`float<class_float>` secs  **)**                           |
++----------------------------------+----------------------------------------------------------------------------------------------------------------------------+
+| void                             | :ref:`set_normal_map<class_Particles2D_set_normal_map>`  **(** :ref:`Texture<class_texture>` texture  **)**                |
++----------------------------------+----------------------------------------------------------------------------------------------------------------------------+
+| void                             | :ref:`set_one_shot<class_Particles2D_set_one_shot>`  **(** :ref:`bool<class_bool>` secs  **)**                             |
++----------------------------------+----------------------------------------------------------------------------------------------------------------------------+
+| void                             | :ref:`set_pre_process_time<class_Particles2D_set_pre_process_time>`  **(** :ref:`float<class_float>` secs  **)**           |
++----------------------------------+----------------------------------------------------------------------------------------------------------------------------+
+| void                             | :ref:`set_process_material<class_Particles2D_set_process_material>`  **(** :ref:`Material<class_material>` material  **)** |
++----------------------------------+----------------------------------------------------------------------------------------------------------------------------+
+| void                             | :ref:`set_randomness_ratio<class_Particles2D_set_randomness_ratio>`  **(** :ref:`float<class_float>` ratio  **)**          |
++----------------------------------+----------------------------------------------------------------------------------------------------------------------------+
+| void                             | :ref:`set_speed_scale<class_Particles2D_set_speed_scale>`  **(** :ref:`float<class_float>` scale  **)**                    |
++----------------------------------+----------------------------------------------------------------------------------------------------------------------------+
+| void                             | :ref:`set_texture<class_Particles2D_set_texture>`  **(** :ref:`Texture<class_texture>` texture  **)**                      |
++----------------------------------+----------------------------------------------------------------------------------------------------------------------------+
+| void                             | :ref:`set_use_local_coordinates<class_Particles2D_set_use_local_coordinates>`  **(** :ref:`bool<class_bool>` enable  **)** |
++----------------------------------+----------------------------------------------------------------------------------------------------------------------------+
+| void                             | :ref:`set_v_frames<class_Particles2D_set_v_frames>`  **(** :ref:`int<class_int>` frames  **)**                             |
++----------------------------------+----------------------------------------------------------------------------------------------------------------------------+
+| void                             | :ref:`set_visibility_rect<class_Particles2D_set_visibility_rect>`  **(** :ref:`Rect2<class_rect2>` aabb  **)**             |
++----------------------------------+----------------------------------------------------------------------------------------------------------------------------+
 
 
 Member Variables
 Member Variables
 ----------------
 ----------------
 
 
-- :ref:`Color<class_color>` **color/color**
-- :ref:`Gradient<class_gradient>` **color/color_ramp**
-- :ref:`int<class_int>` **color_phases/count**
-- :ref:`int<class_int>` **config/amount**
-- :ref:`float<class_float>` **config/emit_timeout**
-- :ref:`bool<class_bool>` **config/emitting**
-- :ref:`float<class_float>` **config/explosiveness**
-- :ref:`bool<class_bool>` **config/flip_h**
-- :ref:`bool<class_bool>` **config/flip_v**
-- :ref:`int<class_int>` **config/h_frames**
-- :ref:`Vector2<class_vector2>` **config/half_extents**
-- :ref:`float<class_float>` **config/lifetime**
-- :ref:`bool<class_bool>` **config/local_space**
-- :ref:`Vector2<class_vector2>` **config/offset**
-- :ref:`float<class_float>` **config/preprocess**
-- :ref:`int<class_int>` **config/process_mode**
-- :ref:`Texture<class_texture>` **config/texture**
-- :ref:`float<class_float>` **config/time_scale**
-- :ref:`int<class_int>` **config/v_frames**
-- :ref:`PoolVector2Array<class_poolvector2array>` **emission_points**
-- :ref:`float<class_float>` **params/anim_initial_pos**
-- :ref:`float<class_float>` **params/anim_speed_scale**
-- :ref:`float<class_float>` **params/damping**
-- :ref:`float<class_float>` **params/direction**
-- :ref:`float<class_float>` **params/final_size**
-- :ref:`float<class_float>` **params/gravity_direction**
-- :ref:`float<class_float>` **params/gravity_strength**
-- :ref:`float<class_float>` **params/hue_variation**
-- :ref:`float<class_float>` **params/initial_angle**
-- :ref:`float<class_float>` **params/initial_size**
-- :ref:`float<class_float>` **params/linear_velocity**
-- :ref:`float<class_float>` **params/orbit_velocity**
-- :ref:`float<class_float>` **params/radial_accel**
-- :ref:`float<class_float>` **params/spin_velocity**
-- :ref:`float<class_float>` **params/spread**
-- :ref:`float<class_float>` **params/tangential_accel**
-- :ref:`Color<class_color>` **phase_0/color**
-- :ref:`float<class_float>` **phase_0/pos**
-- :ref:`Color<class_color>` **phase_1/color**
-- :ref:`float<class_float>` **phase_1/pos**
-- :ref:`Color<class_color>` **phase_2/color**
-- :ref:`float<class_float>` **phase_2/pos**
-- :ref:`Color<class_color>` **phase_3/color**
-- :ref:`float<class_float>` **phase_3/pos**
-- :ref:`float<class_float>` **randomness/anim_initial_pos**
-- :ref:`float<class_float>` **randomness/anim_speed_scale**
-- :ref:`float<class_float>` **randomness/damping**
-- :ref:`float<class_float>` **randomness/direction**
-- :ref:`float<class_float>` **randomness/final_size**
-- :ref:`float<class_float>` **randomness/gravity_direction**
-- :ref:`float<class_float>` **randomness/gravity_strength**
-- :ref:`float<class_float>` **randomness/hue_variation**
-- :ref:`float<class_float>` **randomness/initial_angle**
-- :ref:`float<class_float>` **randomness/initial_size**
-- :ref:`float<class_float>` **randomness/linear_velocity**
-- :ref:`float<class_float>` **randomness/orbit_velocity**
-- :ref:`float<class_float>` **randomness/radial_accel**
-- :ref:`float<class_float>` **randomness/spin_velocity**
-- :ref:`float<class_float>` **randomness/spread**
-- :ref:`float<class_float>` **randomness/tangential_accel**
+- :ref:`int<class_int>` **amount**
+- :ref:`int<class_int>` **draw_order**
+- :ref:`bool<class_bool>` **emitting**
+- :ref:`float<class_float>` **explosiveness**
+- :ref:`int<class_int>` **fixed_fps**
+- :ref:`bool<class_bool>` **fract_delta**
+- :ref:`int<class_int>` **h_frames**
+- :ref:`float<class_float>` **lifetime**
+- :ref:`bool<class_bool>` **local_coords**
+- :ref:`Texture<class_texture>` **normal_map**
+- :ref:`bool<class_bool>` **one_shot**
+- :ref:`float<class_float>` **preprocess**
+- ShaderMaterial,ParticlesMaterial **process_material**
+- :ref:`float<class_float>` **randomness**
+- :ref:`float<class_float>` **speed_scale**
+- :ref:`Texture<class_texture>` **texture**
+- :ref:`int<class_int>` **v_frames**
+- :ref:`Rect3<class_rect3>` **visibility_rect**
 
 
 Numeric Constants
 Numeric Constants
 -----------------
 -----------------
 
 
-- **PARAM_DIRECTION** = **0** --- Direction in degrees at which the particles will be launched, Notice that when the direction is set to 0 the particles will be launched to the negative
-- **PARAM_SPREAD** = **1**
-- **PARAM_LINEAR_VELOCITY** = **2** --- Velocity at which the particles will be launched.
-- **PARAM_SPIN_VELOCITY** = **3** --- The speed at which particles will spin around its own center.
-- **PARAM_ORBIT_VELOCITY** = **4** --- Velocity at which the particles will orbit around the emitter center
-- **PARAM_GRAVITY_DIRECTION** = **5** --- Direction in degrees at which the particles will be attracted
-- **PARAM_GRAVITY_STRENGTH** = **6** --- Strength of the gravitation attraction for each particle
-- **PARAM_RADIAL_ACCEL** = **7**
-- **PARAM_TANGENTIAL_ACCEL** = **8**
-- **PARAM_DAMPING** = **9** --- Amount of damping for each particle
-- **PARAM_INITIAL_ANGLE** = **10** --- Initial angle in radians at which each particle will be spawned
-- **PARAM_INITIAL_SIZE** = **11** --- Initial size of each particle
-- **PARAM_FINAL_SIZE** = **12** --- Final size of each particle, the particle size will interpolate to this value during its lifetime.
-- **PARAM_HUE_VARIATION** = **13**
-- **PARAM_ANIM_SPEED_SCALE** = **14**
-- **PARAM_ANIM_INITIAL_POS** = **15**
-- **PARAM_MAX** = **16**
-- **MAX_COLOR_PHASES** = **4**
+- **DRAW_ORDER_INDEX** = **0**
+- **DRAW_ORDER_LIFETIME** = **1**
 
 
 Description
 Description
 -----------
 -----------
@@ -223,95 +132,65 @@ Particles2D is a particle system 2D :ref:`Node<class_node>` that is used to simu
 Member Function Description
 Member Function Description
 ---------------------------
 ---------------------------
 
 
+.. _class_Particles2D_capture_rect:
+
+- :ref:`Rect2<class_rect2>`  **capture_rect**  **(** **)** const
+
 .. _class_Particles2D_get_amount:
 .. _class_Particles2D_get_amount:
 
 
 - :ref:`int<class_int>`  **get_amount**  **(** **)** const
 - :ref:`int<class_int>`  **get_amount**  **(** **)** const
 
 
 Returns the amount of particles spawned at each emission
 Returns the amount of particles spawned at each emission
 
 
-.. _class_Particles2D_get_color:
-
-- :ref:`Color<class_color>`  **get_color**  **(** **)** const
-
-Returns the tint color for each particle.
-
-.. _class_Particles2D_get_color_phase_color:
-
-- :ref:`Color<class_color>`  **get_color_phase_color**  **(** :ref:`int<class_int>` phase  **)** const
-
-.. _class_Particles2D_get_color_phase_pos:
-
-- :ref:`float<class_float>`  **get_color_phase_pos**  **(** :ref:`int<class_int>` phase  **)** const
-
-.. _class_Particles2D_get_color_phases:
-
-- :ref:`int<class_int>`  **get_color_phases**  **(** **)** const
-
-.. _class_Particles2D_get_emission_half_extents:
-
-- :ref:`Vector2<class_vector2>`  **get_emission_half_extents**  **(** **)** const
-
-Returns the half extents of the emission box.
-
-.. _class_Particles2D_get_emission_points:
-
-- :ref:`PoolVector2Array<class_poolvector2array>`  **get_emission_points**  **(** **)** const
-
-.. _class_Particles2D_get_emissor_offset:
+.. _class_Particles2D_get_draw_order:
 
 
-- :ref:`Vector2<class_vector2>`  **get_emissor_offset**  **(** **)** const
+- :ref:`int<class_int>`  **get_draw_order**  **(** **)** const
 
 
-Returns the particle spawn origin position relative to the emitter.
+.. _class_Particles2D_get_explosiveness_ratio:
 
 
-.. _class_Particles2D_get_emit_timeout:
+- :ref:`float<class_float>`  **get_explosiveness_ratio**  **(** **)** const
 
 
-- :ref:`float<class_float>`  **get_emit_timeout**  **(** **)** const
+.. _class_Particles2D_get_fixed_fps:
 
 
-Returns the amount of seconds during which the emitter will spawn particles
+- :ref:`int<class_int>`  **get_fixed_fps**  **(** **)** const
 
 
-.. _class_Particles2D_get_explosiveness:
+.. _class_Particles2D_get_fractional_delta:
 
 
-- :ref:`float<class_float>`  **get_explosiveness**  **(** **)** const
-
-.. _class_Particles2D_get_gradient:
-
-- :ref:`Gradient<class_gradient>`  **get_gradient**  **(** **)** const
-
-Returns the :ref:`Gradient<class_gradient>` used to tint each particle.
+- :ref:`bool<class_bool>`  **get_fractional_delta**  **(** **)** const
 
 
 .. _class_Particles2D_get_h_frames:
 .. _class_Particles2D_get_h_frames:
 
 
 - :ref:`int<class_int>`  **get_h_frames**  **(** **)** const
 - :ref:`int<class_int>`  **get_h_frames**  **(** **)** const
 
 
-.. _class_Particles2D_get_initial_velocity:
-
-- :ref:`Vector2<class_vector2>`  **get_initial_velocity**  **(** **)** const
-
 .. _class_Particles2D_get_lifetime:
 .. _class_Particles2D_get_lifetime:
 
 
 - :ref:`float<class_float>`  **get_lifetime**  **(** **)** const
 - :ref:`float<class_float>`  **get_lifetime**  **(** **)** const
 
 
 Gets the amount of seconds that each particle will be visible.
 Gets the amount of seconds that each particle will be visible.
 
 
-.. _class_Particles2D_get_param:
+.. _class_Particles2D_get_normal_map:
+
+- :ref:`Texture<class_texture>`  **get_normal_map**  **(** **)** const
 
 
-- :ref:`float<class_float>`  **get_param**  **(** :ref:`int<class_int>` param  **)** const
+.. _class_Particles2D_get_one_shot:
 
 
-Returns the value of the specified emitter parameter
+- :ref:`bool<class_bool>`  **get_one_shot**  **(** **)** const
 
 
 .. _class_Particles2D_get_pre_process_time:
 .. _class_Particles2D_get_pre_process_time:
 
 
 - :ref:`float<class_float>`  **get_pre_process_time**  **(** **)** const
 - :ref:`float<class_float>`  **get_pre_process_time**  **(** **)** const
 
 
-.. _class_Particles2D_get_process_mode:
+.. _class_Particles2D_get_process_material:
 
 
-- :ref:`int<class_int>`  **get_process_mode**  **(** **)** const
+- :ref:`Material<class_material>`  **get_process_material**  **(** **)** const
 
 
-.. _class_Particles2D_get_randomness:
+.. _class_Particles2D_get_randomness_ratio:
 
 
-- :ref:`float<class_float>`  **get_randomness**  **(** :ref:`int<class_int>` param  **)** const
+- :ref:`float<class_float>`  **get_randomness_ratio**  **(** **)** const
 
 
-Returns the randomness value of the specified emitter parameter
+.. _class_Particles2D_get_speed_scale:
+
+- :ref:`float<class_float>`  **get_speed_scale**  **(** **)** const
 
 
 .. _class_Particles2D_get_texture:
 .. _class_Particles2D_get_texture:
 
 
@@ -319,41 +198,27 @@ Returns the randomness value of the specified emitter parameter
 
 
 Returns the texture for emitted particles
 Returns the texture for emitted particles
 
 
-.. _class_Particles2D_get_time_scale:
-
-- :ref:`float<class_float>`  **get_time_scale**  **(** **)** const
+.. _class_Particles2D_get_use_local_coordinates:
 
 
-Returns the emitter time scale
+- :ref:`bool<class_bool>`  **get_use_local_coordinates**  **(** **)** const
 
 
 .. _class_Particles2D_get_v_frames:
 .. _class_Particles2D_get_v_frames:
 
 
 - :ref:`int<class_int>`  **get_v_frames**  **(** **)** const
 - :ref:`int<class_int>`  **get_v_frames**  **(** **)** const
 
 
+.. _class_Particles2D_get_visibility_rect:
+
+- :ref:`Rect2<class_rect2>`  **get_visibility_rect**  **(** **)** const
+
 .. _class_Particles2D_is_emitting:
 .. _class_Particles2D_is_emitting:
 
 
 - :ref:`bool<class_bool>`  **is_emitting**  **(** **)** const
 - :ref:`bool<class_bool>`  **is_emitting**  **(** **)** const
 
 
 Returns whether this emitter is currently emitting or not
 Returns whether this emitter is currently emitting or not
 
 
-.. _class_Particles2D_is_flipped_h:
-
-- :ref:`bool<class_bool>`  **is_flipped_h**  **(** **)** const
-
-.. _class_Particles2D_is_flipped_v:
-
-- :ref:`bool<class_bool>`  **is_flipped_v**  **(** **)** const
-
-.. _class_Particles2D_is_using_local_space:
-
-- :ref:`bool<class_bool>`  **is_using_local_space**  **(** **)** const
-
-.. _class_Particles2D_pre_process:
+.. _class_Particles2D_restart:
 
 
-- void  **pre_process**  **(** :ref:`float<class_float>` time  **)**
-
-.. _class_Particles2D_reset:
-
-- void  **reset**  **(** **)**
+- void  **restart**  **(** **)**
 
 
 .. _class_Particles2D_set_amount:
 .. _class_Particles2D_set_amount:
 
 
@@ -361,122 +226,76 @@ Returns whether this emitter is currently emitting or not
 
 
 Sets the amount of particles spawned at each emission
 Sets the amount of particles spawned at each emission
 
 
-.. _class_Particles2D_set_color:
-
-- void  **set_color**  **(** :ref:`Color<class_color>` color  **)**
-
-Set the tint color for each particle.
-
-.. _class_Particles2D_set_color_phase_color:
-
-- void  **set_color_phase_color**  **(** :ref:`int<class_int>` phase, :ref:`Color<class_color>` color  **)**
-
-.. _class_Particles2D_set_color_phase_pos:
-
-- void  **set_color_phase_pos**  **(** :ref:`int<class_int>` phase, :ref:`float<class_float>` pos  **)**
-
-.. _class_Particles2D_set_color_phases:
-
-- void  **set_color_phases**  **(** :ref:`int<class_int>` phases  **)**
-
-.. _class_Particles2D_set_emission_half_extents:
-
-- void  **set_emission_half_extents**  **(** :ref:`Vector2<class_vector2>` extents  **)**
-
-Sets the half extents of the emission box, particles will be spawned at random inside this box.
-
-.. _class_Particles2D_set_emission_points:
-
-- void  **set_emission_points**  **(** :ref:`PoolVector2Array<class_poolvector2array>` points  **)**
-
-.. _class_Particles2D_set_emissor_offset:
+.. _class_Particles2D_set_draw_order:
 
 
-- void  **set_emissor_offset**  **(** :ref:`Vector2<class_vector2>` offset  **)**
-
-Sets the particle spawn origin position relative to the emitter center. for example if this value is set to (50, 50), the particle will spawn 50 units to the right and  50 units to the bottom of the emitter center.
-
-.. _class_Particles2D_set_emit_timeout:
-
-- void  **set_emit_timeout**  **(** :ref:`float<class_float>` value  **)**
-
-Sets the amount of seconds during which the emitter will spawn particles, after the specified seconds the emitter state will be set to non emitting, so calling :ref:`is_emitting<class_Particles2D_is_emitting>` will return false. If the timeout is 0 the emitter will spawn forever.
+- void  **set_draw_order**  **(** :ref:`int<class_int>` order  **)**
 
 
 .. _class_Particles2D_set_emitting:
 .. _class_Particles2D_set_emitting:
 
 
-- void  **set_emitting**  **(** :ref:`bool<class_bool>` active  **)**
+- void  **set_emitting**  **(** :ref:`bool<class_bool>` emitting  **)**
 
 
 If this is set to true then the particle emitter will emit particles, if its false it will not.
 If this is set to true then the particle emitter will emit particles, if its false it will not.
 
 
-.. _class_Particles2D_set_explosiveness:
+.. _class_Particles2D_set_explosiveness_ratio:
 
 
-- void  **set_explosiveness**  **(** :ref:`float<class_float>` amount  **)**
+- void  **set_explosiveness_ratio**  **(** :ref:`float<class_float>` ratio  **)**
 
 
-.. _class_Particles2D_set_flip_h:
+.. _class_Particles2D_set_fixed_fps:
 
 
-- void  **set_flip_h**  **(** :ref:`bool<class_bool>` enable  **)**
+- void  **set_fixed_fps**  **(** :ref:`int<class_int>` fps  **)**
 
 
-.. _class_Particles2D_set_flip_v:
+.. _class_Particles2D_set_fractional_delta:
 
 
-- void  **set_flip_v**  **(** :ref:`bool<class_bool>` enable  **)**
-
-.. _class_Particles2D_set_gradient:
-
-- :ref:`Gradient<class_gradient>`  **set_gradient**  **(** :ref:`Object<class_object>` gradient  **)**
-
-Sets the :ref:`Gradient<class_gradient>` used to tint each particle. Particle will be tinted according to their lifetimes.
+- void  **set_fractional_delta**  **(** :ref:`bool<class_bool>` enable  **)**
 
 
 .. _class_Particles2D_set_h_frames:
 .. _class_Particles2D_set_h_frames:
 
 
-- void  **set_h_frames**  **(** :ref:`int<class_int>` enable  **)**
-
-.. _class_Particles2D_set_initial_velocity:
-
-- void  **set_initial_velocity**  **(** :ref:`Vector2<class_vector2>` velocity  **)**
+- void  **set_h_frames**  **(** :ref:`int<class_int>` frames  **)**
 
 
 .. _class_Particles2D_set_lifetime:
 .. _class_Particles2D_set_lifetime:
 
 
-- void  **set_lifetime**  **(** :ref:`float<class_float>` lifetime  **)**
+- void  **set_lifetime**  **(** :ref:`float<class_float>` secs  **)**
 
 
 Sets the amount of seconds that each particle will be visible.
 Sets the amount of seconds that each particle will be visible.
 
 
-.. _class_Particles2D_set_param:
+.. _class_Particles2D_set_normal_map:
 
 
-- void  **set_param**  **(** :ref:`int<class_int>` param, :ref:`float<class_float>` value  **)**
+- void  **set_normal_map**  **(** :ref:`Texture<class_texture>` texture  **)**
 
 
-Sets the value of the specified emitter parameter (see the constants secction for the list of parameters)
+.. _class_Particles2D_set_one_shot:
 
 
-.. _class_Particles2D_set_pre_process_time:
+- void  **set_one_shot**  **(** :ref:`bool<class_bool>` secs  **)**
 
 
-- void  **set_pre_process_time**  **(** :ref:`float<class_float>` time  **)**
+.. _class_Particles2D_set_pre_process_time:
 
 
-.. _class_Particles2D_set_process_mode:
+- void  **set_pre_process_time**  **(** :ref:`float<class_float>` secs  **)**
 
 
-- void  **set_process_mode**  **(** :ref:`int<class_int>` mode  **)**
+.. _class_Particles2D_set_process_material:
 
 
-.. _class_Particles2D_set_randomness:
+- void  **set_process_material**  **(** :ref:`Material<class_material>` material  **)**
 
 
-- void  **set_randomness**  **(** :ref:`int<class_int>` param, :ref:`float<class_float>` value  **)**
+.. _class_Particles2D_set_randomness_ratio:
 
 
-Sets the randomness value of the specified emitter parameter (see the constants secction for the list of parameters), 0 means no randomness, so every particle will have the parameters specified, 1 means that the parameter will be chosen at random, the closer the randomness value gets to 0 the more conservative the variation of the parameter will be.
+- void  **set_randomness_ratio**  **(** :ref:`float<class_float>` ratio  **)**
 
 
-.. _class_Particles2D_set_texture:
+.. _class_Particles2D_set_speed_scale:
 
 
-- :ref:`Texture<class_texture>`  **set_texture**  **(** :ref:`Object<class_object>` texture  **)**
+- void  **set_speed_scale**  **(** :ref:`float<class_float>` scale  **)**
 
 
-Sets the texture for each particle
+.. _class_Particles2D_set_texture:
 
 
-.. _class_Particles2D_set_time_scale:
+- void  **set_texture**  **(** :ref:`Texture<class_texture>` texture  **)**
 
 
-- void  **set_time_scale**  **(** :ref:`float<class_float>` time_scale  **)**
+.. _class_Particles2D_set_use_local_coordinates:
 
 
-Sets the increment or decrement for the particle lifetime. for example: if the time scale is set to 2, the particles will die and move twice as fast.
+- void  **set_use_local_coordinates**  **(** :ref:`bool<class_bool>` enable  **)**
 
 
-.. _class_Particles2D_set_use_local_space:
+.. _class_Particles2D_set_v_frames:
 
 
-- void  **set_use_local_space**  **(** :ref:`bool<class_bool>` enable  **)**
+- void  **set_v_frames**  **(** :ref:`int<class_int>` frames  **)**
 
 
-.. _class_Particles2D_set_v_frames:
+.. _class_Particles2D_set_visibility_rect:
 
 
-- void  **set_v_frames**  **(** :ref:`int<class_int>` enable  **)**
+- void  **set_visibility_rect**  **(** :ref:`Rect2<class_rect2>` aabb  **)**
 
 
 
 

+ 16 - 1
classes/class_particlesmaterial.rst

@@ -25,6 +25,8 @@ Member Functions
 +------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------+
 +------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`Vector3<class_vector3>`                  | :ref:`get_emission_box_extents<class_ParticlesMaterial_get_emission_box_extents>`  **(** **)** const                                                      |
 | :ref:`Vector3<class_vector3>`                  | :ref:`get_emission_box_extents<class_ParticlesMaterial_get_emission_box_extents>`  **(** **)** const                                                      |
 +------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------+
 +------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Texture<class_texture>`                  | :ref:`get_emission_color_texture<class_ParticlesMaterial_get_emission_color_texture>`  **(** **)** const                                                  |
++------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`Texture<class_texture>`                  | :ref:`get_emission_normal_texture<class_ParticlesMaterial_get_emission_normal_texture>`  **(** **)** const                                                |
 | :ref:`Texture<class_texture>`                  | :ref:`get_emission_normal_texture<class_ParticlesMaterial_get_emission_normal_texture>`  **(** **)** const                                                |
 +------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------+
 +------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`int<class_int>`                          | :ref:`get_emission_point_count<class_ParticlesMaterial_get_emission_point_count>`  **(** **)** const                                                      |
 | :ref:`int<class_int>`                          | :ref:`get_emission_point_count<class_ParticlesMaterial_get_emission_point_count>`  **(** **)** const                                                      |
@@ -61,6 +63,8 @@ Member Functions
 +------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------+
 +------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                           | :ref:`set_emission_box_extents<class_ParticlesMaterial_set_emission_box_extents>`  **(** :ref:`Vector3<class_vector3>` extents  **)**                     |
 | void                                           | :ref:`set_emission_box_extents<class_ParticlesMaterial_set_emission_box_extents>`  **(** :ref:`Vector3<class_vector3>` extents  **)**                     |
 +------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------+
 +------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                           | :ref:`set_emission_color_texture<class_ParticlesMaterial_set_emission_color_texture>`  **(** :ref:`Texture<class_texture>` texture  **)**                 |
++------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                           | :ref:`set_emission_normal_texture<class_ParticlesMaterial_set_emission_normal_texture>`  **(** :ref:`Texture<class_texture>` texture  **)**               |
 | void                                           | :ref:`set_emission_normal_texture<class_ParticlesMaterial_set_emission_normal_texture>`  **(** :ref:`Texture<class_texture>` texture  **)**               |
 +------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------+
 +------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                           | :ref:`set_emission_point_count<class_ParticlesMaterial_set_emission_point_count>`  **(** :ref:`int<class_int>` point_count  **)**                         |
 | void                                           | :ref:`set_emission_point_count<class_ParticlesMaterial_set_emission_point_count>`  **(** :ref:`int<class_int>` point_count  **)**                         |
@@ -101,6 +105,7 @@ Member Variables
 - :ref:`float<class_float>` **angular_velocity**
 - :ref:`float<class_float>` **angular_velocity**
 - :ref:`CurveTexture<class_curvetexture>` **angular_velocity_curve**
 - :ref:`CurveTexture<class_curvetexture>` **angular_velocity_curve**
 - :ref:`float<class_float>` **angular_velocity_random**
 - :ref:`float<class_float>` **angular_velocity_random**
+- :ref:`bool<class_bool>` **anim_loop**
 - :ref:`float<class_float>` **anim_offset**
 - :ref:`float<class_float>` **anim_offset**
 - :ref:`CurveTexture<class_curvetexture>` **anim_offset_curve**
 - :ref:`CurveTexture<class_curvetexture>` **anim_offset_curve**
 - :ref:`float<class_float>` **anim_offset_random**
 - :ref:`float<class_float>` **anim_offset_random**
@@ -113,12 +118,14 @@ Member Variables
 - :ref:`CurveTexture<class_curvetexture>` **damping_curve**
 - :ref:`CurveTexture<class_curvetexture>` **damping_curve**
 - :ref:`float<class_float>` **damping_random**
 - :ref:`float<class_float>` **damping_random**
 - :ref:`Vector3<class_vector3>` **emission_box_extents**
 - :ref:`Vector3<class_vector3>` **emission_box_extents**
+- :ref:`Texture<class_texture>` **emission_color_texture**
 - :ref:`Texture<class_texture>` **emission_normal_texture**
 - :ref:`Texture<class_texture>` **emission_normal_texture**
 - :ref:`int<class_int>` **emission_point_count**
 - :ref:`int<class_int>` **emission_point_count**
 - :ref:`Texture<class_texture>` **emission_point_texture**
 - :ref:`Texture<class_texture>` **emission_point_texture**
 - :ref:`int<class_int>` **emission_shape**
 - :ref:`int<class_int>` **emission_shape**
 - :ref:`float<class_float>` **emission_sphere_radius**
 - :ref:`float<class_float>` **emission_sphere_radius**
 - :ref:`bool<class_bool>` **flag_align_y**
 - :ref:`bool<class_bool>` **flag_align_y**
+- :ref:`bool<class_bool>` **flag_disable_z**
 - :ref:`bool<class_bool>` **flag_rotate_y**
 - :ref:`bool<class_bool>` **flag_rotate_y**
 - :ref:`float<class_float>` **flatness**
 - :ref:`float<class_float>` **flatness**
 - :ref:`Vector3<class_vector3>` **gravity**
 - :ref:`Vector3<class_vector3>` **gravity**
@@ -165,7 +172,7 @@ Numeric Constants
 - **PARAM_MAX** = **12**
 - **PARAM_MAX** = **12**
 - **FLAG_ALIGN_Y_TO_VELOCITY** = **0**
 - **FLAG_ALIGN_Y_TO_VELOCITY** = **0**
 - **FLAG_ROTATE_Y** = **1**
 - **FLAG_ROTATE_Y** = **1**
-- **FLAG_MAX** = **2**
+- **FLAG_MAX** = **4**
 - **EMISSION_SHAPE_POINT** = **0**
 - **EMISSION_SHAPE_POINT** = **0**
 - **EMISSION_SHAPE_SPHERE** = **1**
 - **EMISSION_SHAPE_SPHERE** = **1**
 - **EMISSION_SHAPE_BOX** = **2**
 - **EMISSION_SHAPE_BOX** = **2**
@@ -187,6 +194,10 @@ Member Function Description
 
 
 - :ref:`Vector3<class_vector3>`  **get_emission_box_extents**  **(** **)** const
 - :ref:`Vector3<class_vector3>`  **get_emission_box_extents**  **(** **)** const
 
 
+.. _class_ParticlesMaterial_get_emission_color_texture:
+
+- :ref:`Texture<class_texture>`  **get_emission_color_texture**  **(** **)** const
+
 .. _class_ParticlesMaterial_get_emission_normal_texture:
 .. _class_ParticlesMaterial_get_emission_normal_texture:
 
 
 - :ref:`Texture<class_texture>`  **get_emission_normal_texture**  **(** **)** const
 - :ref:`Texture<class_texture>`  **get_emission_normal_texture**  **(** **)** const
@@ -259,6 +270,10 @@ Member Function Description
 
 
 - void  **set_emission_box_extents**  **(** :ref:`Vector3<class_vector3>` extents  **)**
 - void  **set_emission_box_extents**  **(** :ref:`Vector3<class_vector3>` extents  **)**
 
 
+.. _class_ParticlesMaterial_set_emission_color_texture:
+
+- void  **set_emission_color_texture**  **(** :ref:`Texture<class_texture>` texture  **)**
+
 .. _class_ParticlesMaterial_set_emission_normal_texture:
 .. _class_ParticlesMaterial_set_emission_normal_texture:
 
 
 - void  **set_emission_normal_texture**  **(** :ref:`Texture<class_texture>` texture  **)**
 - void  **set_emission_normal_texture**  **(** :ref:`Texture<class_texture>` texture  **)**

+ 2 - 2
classes/class_physics2ddirectspacestate.rst

@@ -104,7 +104,7 @@ collider: Object the point is inside of.
 
 
 rid: :ref:`RID<class_rid>` of the object the point is in.
 rid: :ref:`RID<class_rid>` of the object the point is in.
 
 
-Additionally, the method can take an array of objects or :ref:`RID<class_rid>`s that are to be excluded from collisions, a bitmask representing the physics layers to check in, and another bitmask for the types of objects to check (see TYPE_MASK\_\* constants).
+Additionally, the method can take an array of objects or :ref:`RID<class_rid>`\ s that are to be excluded from collisions, a bitmask representing the physics layers to check in, and another bitmask for the types of objects to check (see TYPE_MASK\_\* constants).
 
 
 .. _class_Physics2DDirectSpaceState_intersect_ray:
 .. _class_Physics2DDirectSpaceState_intersect_ray:
 
 
@@ -128,7 +128,7 @@ rid: :ref:`RID<class_rid>` of the object against which the ray was stopped.
 
 
 If the ray did not intersect anything, then an empty dictionary (dir.empty()==true) is returned instead.
 If the ray did not intersect anything, then an empty dictionary (dir.empty()==true) is returned instead.
 
 
-Additionally, the method can take an array of objects or :ref:`RID<class_rid>`s that are to be excluded from collisions, a bitmask representing the physics layers to check in, and another bitmask for the types of objects to check (see TYPE_MASK\_\* constants).
+Additionally, the method can take an array of objects or :ref:`RID<class_rid>`\ s that are to be excluded from collisions, a bitmask representing the physics layers to check in, and another bitmask for the types of objects to check (see TYPE_MASK\_\* constants).
 
 
 .. _class_Physics2DDirectSpaceState_intersect_shape:
 .. _class_Physics2DDirectSpaceState_intersect_shape:
 
 

+ 16 - 46
classes/class_physics2dserver.rst

@@ -57,6 +57,8 @@ Member Functions
 +--------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | 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  **)**                                                                                                                                               |
 | 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  **)**                                                                                                                                               |
 +--------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                                               | :ref:`area_set_shape_disabled<class_Physics2DServer_area_set_shape_disabled>`  **(** :ref:`RID<class_rid>` area, :ref:`int<class_int>` shape_idx, :ref:`bool<class_bool>` disable  **)**                                                                                                                         |
++--------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                                               | :ref:`area_set_shape_transform<class_Physics2DServer_area_set_shape_transform>`  **(** :ref:`RID<class_rid>` area, :ref:`int<class_int>` shape_idx, :ref:`Transform2D<class_transform2d>` transform  **)**                                                                                                       |
 | void                                                               | :ref:`area_set_shape_transform<class_Physics2DServer_area_set_shape_transform>`  **(** :ref:`RID<class_rid>` area, :ref:`int<class_int>` shape_idx, :ref:`Transform2D<class_transform2d>` transform  **)**                                                                                                       |
 +--------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                                               | :ref:`area_set_space<class_Physics2DServer_area_set_space>`  **(** :ref:`RID<class_rid>` area, :ref:`RID<class_rid>` space  **)**                                                                                                                                                                                |
 | void                                                               | :ref:`area_set_space<class_Physics2DServer_area_set_space>`  **(** :ref:`RID<class_rid>` area, :ref:`RID<class_rid>` space  **)**                                                                                                                                                                                |
@@ -91,10 +93,6 @@ Member Functions
 +--------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`int<class_int>`                                              | :ref:`body_get_object_instance_ID<class_Physics2DServer_body_get_object_instance_ID>`  **(** :ref:`RID<class_rid>` body  **)** const                                                                                                                                                                             |
 | :ref:`int<class_int>`                                              | :ref:`body_get_object_instance_ID<class_Physics2DServer_body_get_object_instance_ID>`  **(** :ref:`RID<class_rid>` body  **)** const                                                                                                                                                                             |
 +--------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Vector2<class_vector2>`                                      | :ref:`body_get_one_way_collision_direction<class_Physics2DServer_body_get_one_way_collision_direction>`  **(** :ref:`RID<class_rid>` body  **)** const                                                                                                                                                           |
-+--------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`                                          | :ref:`body_get_one_way_collision_max_depth<class_Physics2DServer_body_get_one_way_collision_max_depth>`  **(** :ref:`RID<class_rid>` body  **)** const                                                                                                                                                           |
-+--------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`float<class_float>`                                          | :ref:`body_get_param<class_Physics2DServer_body_get_param>`  **(** :ref:`RID<class_rid>` body, :ref:`int<class_int>` param  **)** const                                                                                                                                                                          |
 | :ref:`float<class_float>`                                          | :ref:`body_get_param<class_Physics2DServer_body_get_param>`  **(** :ref:`RID<class_rid>` body, :ref:`int<class_int>` param  **)** const                                                                                                                                                                          |
 +--------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`RID<class_rid>`                                              | :ref:`body_get_shape<class_Physics2DServer_body_get_shape>`  **(** :ref:`RID<class_rid>` body, :ref:`int<class_int>` shape_idx  **)** const                                                                                                                                                                      |
 | :ref:`RID<class_rid>`                                              | :ref:`body_get_shape<class_Physics2DServer_body_get_shape>`  **(** :ref:`RID<class_rid>` body, :ref:`int<class_int>` shape_idx  **)** const                                                                                                                                                                      |
@@ -111,8 +109,6 @@ Member Functions
 +--------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`bool<class_bool>`                                            | :ref:`body_is_omitting_force_integration<class_Physics2DServer_body_is_omitting_force_integration>`  **(** :ref:`RID<class_rid>` body  **)** const                                                                                                                                                               |
 | :ref:`bool<class_bool>`                                            | :ref:`body_is_omitting_force_integration<class_Physics2DServer_body_is_omitting_force_integration>`  **(** :ref:`RID<class_rid>` body  **)** const                                                                                                                                                               |
 +--------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                                            | :ref:`body_is_shape_set_as_trigger<class_Physics2DServer_body_is_shape_set_as_trigger>`  **(** :ref:`RID<class_rid>` body, :ref:`int<class_int>` shape_idx  **)** const                                                                                                                                          |
-+--------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                                               | :ref:`body_remove_collision_exception<class_Physics2DServer_body_remove_collision_exception>`  **(** :ref:`RID<class_rid>` body, :ref:`RID<class_rid>` excepted_body  **)**                                                                                                                                      |
 | void                                                               | :ref:`body_remove_collision_exception<class_Physics2DServer_body_remove_collision_exception>`  **(** :ref:`RID<class_rid>` body, :ref:`RID<class_rid>` excepted_body  **)**                                                                                                                                      |
 +--------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                                               | :ref:`body_remove_shape<class_Physics2DServer_body_remove_shape>`  **(** :ref:`RID<class_rid>` body, :ref:`int<class_int>` shape_idx  **)**                                                                                                                                                                      |
 | void                                                               | :ref:`body_remove_shape<class_Physics2DServer_body_remove_shape>`  **(** :ref:`RID<class_rid>` body, :ref:`int<class_int>` shape_idx  **)**                                                                                                                                                                      |
@@ -133,15 +129,13 @@ Member Functions
 +--------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                                               | :ref:`body_set_omit_force_integration<class_Physics2DServer_body_set_omit_force_integration>`  **(** :ref:`RID<class_rid>` body, :ref:`bool<class_bool>` enable  **)**                                                                                                                                           |
 | void                                                               | :ref:`body_set_omit_force_integration<class_Physics2DServer_body_set_omit_force_integration>`  **(** :ref:`RID<class_rid>` body, :ref:`bool<class_bool>` enable  **)**                                                                                                                                           |
 +--------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                                               | :ref:`body_set_one_way_collision_direction<class_Physics2DServer_body_set_one_way_collision_direction>`  **(** :ref:`RID<class_rid>` body, :ref:`Vector2<class_vector2>` normal  **)**                                                                                                                           |
-+--------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                                               | :ref:`body_set_one_way_collision_max_depth<class_Physics2DServer_body_set_one_way_collision_max_depth>`  **(** :ref:`RID<class_rid>` body, :ref:`float<class_float>` depth  **)**                                                                                                                                |
-+--------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                                               | :ref:`body_set_param<class_Physics2DServer_body_set_param>`  **(** :ref:`RID<class_rid>` body, :ref:`int<class_int>` param, :ref:`float<class_float>` value  **)**                                                                                                                                               |
 | void                                                               | :ref:`body_set_param<class_Physics2DServer_body_set_param>`  **(** :ref:`RID<class_rid>` body, :ref:`int<class_int>` param, :ref:`float<class_float>` value  **)**                                                                                                                                               |
 +--------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                                               | :ref:`body_set_shape<class_Physics2DServer_body_set_shape>`  **(** :ref:`RID<class_rid>` body, :ref:`int<class_int>` shape_idx, :ref:`RID<class_rid>` shape  **)**                                                                                                                                               |
 | void                                                               | :ref:`body_set_shape<class_Physics2DServer_body_set_shape>`  **(** :ref:`RID<class_rid>` body, :ref:`int<class_int>` shape_idx, :ref:`RID<class_rid>` shape  **)**                                                                                                                                               |
 +--------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| 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_as_one_way_collision<class_Physics2DServer_body_set_shape_as_one_way_collision>`  **(** :ref:`RID<class_rid>` body, :ref:`int<class_int>` shape_idx, :ref:`bool<class_bool>` enable  **)**                                                                                                  |
++--------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                                               | :ref:`body_set_shape_disabled<class_Physics2DServer_body_set_shape_disabled>`  **(** :ref:`RID<class_rid>` body, :ref:`int<class_int>` shape_idx, :ref:`bool<class_bool>` disable  **)**                                                                                                                         |
 +--------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | 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_metadata<class_Physics2DServer_body_set_shape_metadata>`  **(** :ref:`RID<class_rid>` body, :ref:`int<class_int>` shape_idx, :ref:`Variant<class_variant>` metadata  **)**                                                                                                                  |
 +--------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
@@ -202,8 +196,8 @@ Numeric Constants
 - **SPACE_PARAM_CONTACT_RECYCLE_RADIUS** = **0** --- Constant to set/get the maximum distance a pair of bodies has to move before their collision status has to be recalculated.
 - **SPACE_PARAM_CONTACT_RECYCLE_RADIUS** = **0** --- Constant to set/get the maximum distance a pair of bodies has to move before their collision status has to be recalculated.
 - **SPACE_PARAM_CONTACT_MAX_SEPARATION** = **1** --- Constant to set/get the maximum distance a shape can be from another before they are considered separated.
 - **SPACE_PARAM_CONTACT_MAX_SEPARATION** = **1** --- Constant to set/get the maximum distance a shape can be from another before they are considered separated.
 - **SPACE_PARAM_BODY_MAX_ALLOWED_PENETRATION** = **2** --- Constant to set/get the maximum distance a shape can penetrate another shape before it is considered a collision.
 - **SPACE_PARAM_BODY_MAX_ALLOWED_PENETRATION** = **2** --- Constant to set/get the maximum distance a shape can penetrate another shape before it is considered a collision.
-- **SPACE_PARAM_BODY_LINEAR_VELOCITY_SLEEP_TRESHOLD** = **3** --- Constant to set/get the linear velocity threshold. Bodies slower than this will be marked as potentially inactive.
-- **SPACE_PARAM_BODY_ANGULAR_VELOCITY_SLEEP_TRESHOLD** = **4** --- Constant to set/get the angular velocity threshold. Bodies slower than this will be marked as potentially inactive.
+- **SPACE_PARAM_BODY_LINEAR_VELOCITY_SLEEP_THRESHOLD** = **3**
+- **SPACE_PARAM_BODY_ANGULAR_VELOCITY_SLEEP_THRESHOLD** = **4**
 - **SPACE_PARAM_BODY_TIME_TO_SLEEP** = **5** --- Constant to set/get the maximum time of activity. A body marked as potentially inactive for both linear and angular velocity will be put to sleep after this time.
 - **SPACE_PARAM_BODY_TIME_TO_SLEEP** = **5** --- Constant to set/get the maximum time of activity. A body marked as potentially inactive for both linear and angular velocity will be put to sleep after this time.
 - **SPACE_PARAM_CONSTRAINT_DEFAULT_BIAS** = **6** --- Constant to set/get the default solver bias for all physics constraints. A solver bias is a factor controlling how much two objects "rebound", after violating a constraint, to avoid leaving them in that state because of numerical imprecision.
 - **SPACE_PARAM_CONSTRAINT_DEFAULT_BIAS** = **6** --- Constant to set/get the default solver bias for all physics constraints. A solver bias is a factor controlling how much two objects "rebound", after violating a constraint, to avoid leaving them in that state because of numerical imprecision.
 - **SHAPE_LINE** = **0** --- This is the constant for creating line shapes. A line shape is an infinite line with an origin point, and a normal. Thus, it can be used for front/behind checks.
 - **SHAPE_LINE** = **0** --- This is the constant for creating line shapes. A line shape is an infinite line with an origin point, and a normal. Thus, it can be used for front/behind checks.
@@ -385,6 +379,10 @@ Set the value for an area parameter. A list of available parameters is on the AR
 
 
 Substitute a given area shape by another. The old shape is selected by its index, the new one by its :ref:`RID<class_rid>`.
 Substitute a given area shape by another. The old shape is selected by its index, the new one by its :ref:`RID<class_rid>`.
 
 
+.. _class_Physics2DServer_area_set_shape_disabled:
+
+- void  **area_set_shape_disabled**  **(** :ref:`RID<class_rid>` area, :ref:`int<class_int>` shape_idx, :ref:`bool<class_bool>` disable  **)**
+
 .. _class_Physics2DServer_area_set_shape_transform:
 .. _class_Physics2DServer_area_set_shape_transform:
 
 
 - void  **area_set_shape_transform**  **(** :ref:`RID<class_rid>` area, :ref:`int<class_int>` shape_idx, :ref:`Transform2D<class_transform2d>` transform  **)**
 - void  **area_set_shape_transform**  **(** :ref:`RID<class_rid>` area, :ref:`int<class_int>` shape_idx, :ref:`Transform2D<class_transform2d>` transform  **)**
@@ -487,18 +485,6 @@ Return the body mode.
 
 
 Get the instance ID of the object the area is assigned to.
 Get the instance ID of the object the area is assigned to.
 
 
-.. _class_Physics2DServer_body_get_one_way_collision_direction:
-
-- :ref:`Vector2<class_vector2>`  **body_get_one_way_collision_direction**  **(** :ref:`RID<class_rid>` body  **)** const
-
-Return the direction used for one-way collision detection.
-
-.. _class_Physics2DServer_body_get_one_way_collision_max_depth:
-
-- :ref:`float<class_float>`  **body_get_one_way_collision_max_depth**  **(** :ref:`RID<class_rid>` body  **)** const
-
-Return how far a body can go through the given one, when it allows one-way collisions.
-
 .. _class_Physics2DServer_body_get_param:
 .. _class_Physics2DServer_body_get_param:
 
 
 - :ref:`float<class_float>`  **body_get_param**  **(** :ref:`RID<class_rid>` body, :ref:`int<class_int>` param  **)** const
 - :ref:`float<class_float>`  **body_get_param**  **(** :ref:`RID<class_rid>` body, :ref:`int<class_int>` param  **)** const
@@ -547,12 +533,6 @@ Return a body state.
 
 
 Return whether a body uses a callback function to calculate its own physics (see :ref:`body_set_force_integration_callback<class_Physics2DServer_body_set_force_integration_callback>`).
 Return whether a body uses a callback function to calculate its own physics (see :ref:`body_set_force_integration_callback<class_Physics2DServer_body_set_force_integration_callback>`).
 
 
-.. _class_Physics2DServer_body_is_shape_set_as_trigger:
-
-- :ref:`bool<class_bool>`  **body_is_shape_set_as_trigger**  **(** :ref:`RID<class_rid>` body, :ref:`int<class_int>` shape_idx  **)** const
-
-Return whether a body's shape is marked as a trigger.
-
 .. _class_Physics2DServer_body_remove_collision_exception:
 .. _class_Physics2DServer_body_remove_collision_exception:
 
 
 - void  **body_remove_collision_exception**  **(** :ref:`RID<class_rid>` body, :ref:`RID<class_rid>` excepted_body  **)**
 - void  **body_remove_collision_exception**  **(** :ref:`RID<class_rid>` body, :ref:`RID<class_rid>` excepted_body  **)**
@@ -615,18 +595,6 @@ Set the body mode, from one of the constants BODY_MODE\*.
 
 
 Set whether a body uses a callback function to calculate its own physics (see :ref:`body_set_force_integration_callback<class_Physics2DServer_body_set_force_integration_callback>`).
 Set whether a body uses a callback function to calculate its own physics (see :ref:`body_set_force_integration_callback<class_Physics2DServer_body_set_force_integration_callback>`).
 
 
-.. _class_Physics2DServer_body_set_one_way_collision_direction:
-
-- void  **body_set_one_way_collision_direction**  **(** :ref:`RID<class_rid>` body, :ref:`Vector2<class_vector2>` normal  **)**
-
-Set a direction in which bodies can go through the given one. If this value is different from (0,0), any movement within 90 degrees of this vector is considered a valid movement. Set this direction to (0,0) to disable one-way collisions.
-
-.. _class_Physics2DServer_body_set_one_way_collision_max_depth:
-
-- void  **body_set_one_way_collision_max_depth**  **(** :ref:`RID<class_rid>` body, :ref:`float<class_float>` depth  **)**
-
-Set how far a body can go through the given one, if it allows one-way collisions (see :ref:`body_set_one_way_collision_direction<class_Physics2DServer_body_set_one_way_collision_direction>`).
-
 .. _class_Physics2DServer_body_set_param:
 .. _class_Physics2DServer_body_set_param:
 
 
 - void  **body_set_param**  **(** :ref:`RID<class_rid>` body, :ref:`int<class_int>` param, :ref:`float<class_float>` value  **)**
 - void  **body_set_param**  **(** :ref:`RID<class_rid>` body, :ref:`int<class_int>` param, :ref:`float<class_float>` value  **)**
@@ -639,11 +607,13 @@ Set a body parameter (see BODY_PARAM\* constants).
 
 
 Substitute a given body shape by another. The old shape is selected by its index, the new one by its :ref:`RID<class_rid>`.
 Substitute a given body shape by another. The old shape is selected by its index, the new one by its :ref:`RID<class_rid>`.
 
 
-.. _class_Physics2DServer_body_set_shape_as_trigger:
+.. _class_Physics2DServer_body_set_shape_as_one_way_collision:
+
+- void  **body_set_shape_as_one_way_collision**  **(** :ref:`RID<class_rid>` body, :ref:`int<class_int>` shape_idx, :ref:`bool<class_bool>` enable  **)**
 
 
-- void  **body_set_shape_as_trigger**  **(** :ref:`RID<class_rid>` body, :ref:`int<class_int>` shape_idx, :ref:`bool<class_bool>` enable  **)**
+.. _class_Physics2DServer_body_set_shape_disabled:
 
 
-Mark a body's shape as a trigger. A trigger shape cannot affect other bodies, but detects other shapes entering and exiting it.
+- void  **body_set_shape_disabled**  **(** :ref:`RID<class_rid>` body, :ref:`int<class_int>` shape_idx, :ref:`bool<class_bool>` disable  **)**
 
 
 .. _class_Physics2DServer_body_set_shape_metadata:
 .. _class_Physics2DServer_body_set_shape_metadata:
 
 

+ 2 - 2
classes/class_physics2dshapequeryparameters.rst

@@ -68,7 +68,7 @@ Return the physics layer the shape belongs to.
 
 
 - :ref:`Array<class_array>`  **get_exclude**  **(** **)** const
 - :ref:`Array<class_array>`  **get_exclude**  **(** **)** const
 
 
-Return the list of objects, or object :ref:`RID<class_rid>`s, that will be excluded from collisions.
+Return the list of objects, or object :ref:`RID<class_rid>`\ s, that will be excluded from collisions.
 
 
 .. _class_Physics2DShapeQueryParameters_get_margin:
 .. _class_Physics2DShapeQueryParameters_get_margin:
 
 
@@ -110,7 +110,7 @@ Set the physics layer the shape belongs to.
 
 
 - void  **set_exclude**  **(** :ref:`Array<class_array>` exclude  **)**
 - void  **set_exclude**  **(** :ref:`Array<class_array>` exclude  **)**
 
 
-Set the list of objects, or object :ref:`RID<class_rid>`s, that will be excluded from collisions.
+Set the list of objects, or object :ref:`RID<class_rid>`\ s, that will be excluded from collisions.
 
 
 .. _class_Physics2DShapeQueryParameters_set_margin:
 .. _class_Physics2DShapeQueryParameters_set_margin:
 
 

+ 21 - 55
classes/class_physicsbody2d.rst

@@ -20,35 +20,27 @@ Base class for all objects affected by physics.
 Member Functions
 Member Functions
 ----------------
 ----------------
 
 
-+--------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                           | :ref:`add_collision_exception_with<class_PhysicsBody2D_add_collision_exception_with>`  **(** :ref:`PhysicsBody2D<class_physicsbody2d>` body  **)**       |
-+--------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`          | :ref:`get_collision_layer<class_PhysicsBody2D_get_collision_layer>`  **(** **)** const                                                                   |
-+--------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`        | :ref:`get_collision_layer_bit<class_PhysicsBody2D_get_collision_layer_bit>`  **(** :ref:`int<class_int>` bit  **)** const                                |
-+--------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`          | :ref:`get_collision_mask<class_PhysicsBody2D_get_collision_mask>`  **(** **)** const                                                                     |
-+--------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`        | :ref:`get_collision_mask_bit<class_PhysicsBody2D_get_collision_mask_bit>`  **(** :ref:`int<class_int>` bit  **)** const                                  |
-+--------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Vector2<class_vector2>`  | :ref:`get_one_way_collision_direction<class_PhysicsBody2D_get_one_way_collision_direction>`  **(** **)** const                                           |
-+--------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`      | :ref:`get_one_way_collision_max_depth<class_PhysicsBody2D_get_one_way_collision_max_depth>`  **(** **)** const                                           |
-+--------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                           | :ref:`remove_collision_exception_with<class_PhysicsBody2D_remove_collision_exception_with>`  **(** :ref:`PhysicsBody2D<class_physicsbody2d>` body  **)** |
-+--------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                           | :ref:`set_collision_layer<class_PhysicsBody2D_set_collision_layer>`  **(** :ref:`int<class_int>` layer  **)**                                            |
-+--------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                           | :ref:`set_collision_layer_bit<class_PhysicsBody2D_set_collision_layer_bit>`  **(** :ref:`int<class_int>` bit, :ref:`bool<class_bool>` value  **)**       |
-+--------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                           | :ref:`set_collision_mask<class_PhysicsBody2D_set_collision_mask>`  **(** :ref:`int<class_int>` mask  **)**                                               |
-+--------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                           | :ref:`set_collision_mask_bit<class_PhysicsBody2D_set_collision_mask_bit>`  **(** :ref:`int<class_int>` bit, :ref:`bool<class_bool>` value  **)**         |
-+--------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                           | :ref:`set_one_way_collision_direction<class_PhysicsBody2D_set_one_way_collision_direction>`  **(** :ref:`Vector2<class_vector2>` dir  **)**              |
-+--------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                           | :ref:`set_one_way_collision_max_depth<class_PhysicsBody2D_set_one_way_collision_max_depth>`  **(** :ref:`float<class_float>` depth  **)**                |
-+--------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------+
++--------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                     | :ref:`add_collision_exception_with<class_PhysicsBody2D_add_collision_exception_with>`  **(** :ref:`PhysicsBody2D<class_physicsbody2d>` body  **)**       |
++--------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`    | :ref:`get_collision_layer<class_PhysicsBody2D_get_collision_layer>`  **(** **)** const                                                                   |
++--------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`  | :ref:`get_collision_layer_bit<class_PhysicsBody2D_get_collision_layer_bit>`  **(** :ref:`int<class_int>` bit  **)** const                                |
++--------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`    | :ref:`get_collision_mask<class_PhysicsBody2D_get_collision_mask>`  **(** **)** const                                                                     |
++--------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`  | :ref:`get_collision_mask_bit<class_PhysicsBody2D_get_collision_mask_bit>`  **(** :ref:`int<class_int>` bit  **)** const                                  |
++--------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                     | :ref:`remove_collision_exception_with<class_PhysicsBody2D_remove_collision_exception_with>`  **(** :ref:`PhysicsBody2D<class_physicsbody2d>` body  **)** |
++--------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                     | :ref:`set_collision_layer<class_PhysicsBody2D_set_collision_layer>`  **(** :ref:`int<class_int>` layer  **)**                                            |
++--------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                     | :ref:`set_collision_layer_bit<class_PhysicsBody2D_set_collision_layer_bit>`  **(** :ref:`int<class_int>` bit, :ref:`bool<class_bool>` value  **)**       |
++--------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                     | :ref:`set_collision_mask<class_PhysicsBody2D_set_collision_mask>`  **(** :ref:`int<class_int>` mask  **)**                                               |
++--------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                     | :ref:`set_collision_mask_bit<class_PhysicsBody2D_set_collision_mask_bit>`  **(** :ref:`int<class_int>` bit, :ref:`bool<class_bool>` value  **)**         |
++--------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------+
 
 
 Member Variables
 Member Variables
 ----------------
 ----------------
@@ -56,8 +48,6 @@ Member Variables
 - :ref:`int<class_int>` **collision_layer**
 - :ref:`int<class_int>` **collision_layer**
 - :ref:`int<class_int>` **collision_mask**
 - :ref:`int<class_int>` **collision_mask**
 - :ref:`int<class_int>` **layers**
 - :ref:`int<class_int>` **layers**
-- :ref:`Vector2<class_vector2>` **one_way_collision/direction**
-- :ref:`float<class_float>` **one_way_collision/max_depth**
 
 
 Description
 Description
 -----------
 -----------
@@ -97,18 +87,6 @@ Return the physics layers this area can scan for collisions.
 
 
 Return an individual bit on the collision mask.
 Return an individual bit on the collision mask.
 
 
-.. _class_PhysicsBody2D_get_one_way_collision_direction:
-
-- :ref:`Vector2<class_vector2>`  **get_one_way_collision_direction**  **(** **)** const
-
-Return the direction used for one-way collision detection.
-
-.. _class_PhysicsBody2D_get_one_way_collision_max_depth:
-
-- :ref:`float<class_float>`  **get_one_way_collision_max_depth**  **(** **)** const
-
-Return how far a body can go through this one, when it allows one-way collisions.
-
 .. _class_PhysicsBody2D_remove_collision_exception_with:
 .. _class_PhysicsBody2D_remove_collision_exception_with:
 
 
 - void  **remove_collision_exception_with**  **(** :ref:`PhysicsBody2D<class_physicsbody2d>` body  **)**
 - void  **remove_collision_exception_with**  **(** :ref:`PhysicsBody2D<class_physicsbody2d>` body  **)**
@@ -143,16 +121,4 @@ Set the physics layers this area can scan for collisions.
 
 
 Set/clear individual bits on the collision mask. This makes selecting the areas scanned easier.
 Set/clear individual bits on the collision mask. This makes selecting the areas scanned easier.
 
 
-.. _class_PhysicsBody2D_set_one_way_collision_direction:
-
-- void  **set_one_way_collision_direction**  **(** :ref:`Vector2<class_vector2>` dir  **)**
-
-Set a direction in which bodies can go through this one. If this value is different from (0,0), any movement within 90 degrees of this vector is considered a valid movement. Set this direction to (0,0) to disable one-way collisions.
-
-.. _class_PhysicsBody2D_set_one_way_collision_max_depth:
-
-- void  **set_one_way_collision_max_depth**  **(** :ref:`float<class_float>` depth  **)**
-
-Set how far a body can go through this one, when it allows one-way collisions (see :ref:`set_one_way_collision_direction<class_PhysicsBody2D_set_one_way_collision_direction>`).
-
 
 

+ 44 - 28
classes/class_poolbytearray.rst

@@ -16,33 +16,37 @@ Raw byte array.
 Member Functions
 Member Functions
 ----------------
 ----------------
 
 
-+--------------------------------------------+---------------------------------------------------------------------------------------------------------------------+
-| :ref:`PoolByteArray<class_poolbytearray>`  | :ref:`PoolByteArray<class_PoolByteArray_PoolByteArray>`  **(** :ref:`Array<class_array>` from  **)**                |
-+--------------------------------------------+---------------------------------------------------------------------------------------------------------------------+
-| void                                       | :ref:`append<class_PoolByteArray_append>`  **(** :ref:`int<class_int>` byte  **)**                                  |
-+--------------------------------------------+---------------------------------------------------------------------------------------------------------------------+
-| void                                       | :ref:`append_array<class_PoolByteArray_append_array>`  **(** :ref:`PoolByteArray<class_poolbytearray>` array  **)** |
-+--------------------------------------------+---------------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_string>`                | :ref:`get_string_from_ascii<class_PoolByteArray_get_string_from_ascii>`  **(** **)**                                |
-+--------------------------------------------+---------------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_string>`                | :ref:`get_string_from_utf8<class_PoolByteArray_get_string_from_utf8>`  **(** **)**                                  |
-+--------------------------------------------+---------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                      | :ref:`insert<class_PoolByteArray_insert>`  **(** :ref:`int<class_int>` idx, :ref:`int<class_int>` byte  **)**       |
-+--------------------------------------------+---------------------------------------------------------------------------------------------------------------------+
-| void                                       | :ref:`invert<class_PoolByteArray_invert>`  **(** **)**                                                              |
-+--------------------------------------------+---------------------------------------------------------------------------------------------------------------------+
-| void                                       | :ref:`push_back<class_PoolByteArray_push_back>`  **(** :ref:`int<class_int>` byte  **)**                            |
-+--------------------------------------------+---------------------------------------------------------------------------------------------------------------------+
-| void                                       | :ref:`remove<class_PoolByteArray_remove>`  **(** :ref:`int<class_int>` idx  **)**                                   |
-+--------------------------------------------+---------------------------------------------------------------------------------------------------------------------+
-| void                                       | :ref:`resize<class_PoolByteArray_resize>`  **(** :ref:`int<class_int>` idx  **)**                                   |
-+--------------------------------------------+---------------------------------------------------------------------------------------------------------------------+
-| void                                       | :ref:`set<class_PoolByteArray_set>`  **(** :ref:`int<class_int>` idx, :ref:`int<class_int>` byte  **)**             |
-+--------------------------------------------+---------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                      | :ref:`size<class_PoolByteArray_size>`  **(** **)**                                                                  |
-+--------------------------------------------+---------------------------------------------------------------------------------------------------------------------+
-| :ref:`PoolByteArray<class_poolbytearray>`  | :ref:`subarray<class_PoolByteArray_subarray>`  **(** :ref:`int<class_int>` from, :ref:`int<class_int>` to  **)**    |
-+--------------------------------------------+---------------------------------------------------------------------------------------------------------------------+
++--------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`PoolByteArray<class_poolbytearray>`  | :ref:`PoolByteArray<class_PoolByteArray_PoolByteArray>`  **(** :ref:`Array<class_array>` from  **)**                                        |
++--------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                       | :ref:`append<class_PoolByteArray_append>`  **(** :ref:`int<class_int>` byte  **)**                                                          |
++--------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                       | :ref:`append_array<class_PoolByteArray_append_array>`  **(** :ref:`PoolByteArray<class_poolbytearray>` array  **)**                         |
++--------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`PoolByteArray<class_poolbytearray>`  | :ref:`compress<class_PoolByteArray_compress>`  **(** :ref:`int<class_int>` compression_mode=0  **)**                                        |
++--------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`PoolByteArray<class_poolbytearray>`  | :ref:`decompress<class_PoolByteArray_decompress>`  **(** :ref:`int<class_int>` buffer_size, :ref:`int<class_int>` compression_mode=0  **)** |
++--------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_string>`                | :ref:`get_string_from_ascii<class_PoolByteArray_get_string_from_ascii>`  **(** **)**                                                        |
++--------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_string>`                | :ref:`get_string_from_utf8<class_PoolByteArray_get_string_from_utf8>`  **(** **)**                                                          |
++--------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                      | :ref:`insert<class_PoolByteArray_insert>`  **(** :ref:`int<class_int>` idx, :ref:`int<class_int>` byte  **)**                               |
++--------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                       | :ref:`invert<class_PoolByteArray_invert>`  **(** **)**                                                                                      |
++--------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                       | :ref:`push_back<class_PoolByteArray_push_back>`  **(** :ref:`int<class_int>` byte  **)**                                                    |
++--------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                       | :ref:`remove<class_PoolByteArray_remove>`  **(** :ref:`int<class_int>` idx  **)**                                                           |
++--------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                       | :ref:`resize<class_PoolByteArray_resize>`  **(** :ref:`int<class_int>` idx  **)**                                                           |
++--------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                       | :ref:`set<class_PoolByteArray_set>`  **(** :ref:`int<class_int>` idx, :ref:`int<class_int>` byte  **)**                                     |
++--------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                      | :ref:`size<class_PoolByteArray_size>`  **(** **)**                                                                                          |
++--------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`PoolByteArray<class_poolbytearray>`  | :ref:`subarray<class_PoolByteArray_subarray>`  **(** :ref:`int<class_int>` from, :ref:`int<class_int>` to  **)**                            |
++--------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
 
 
 Description
 Description
 -----------
 -----------
@@ -68,6 +72,18 @@ Create from a generic array.
 
 
 Append an :ref:`PoolByteArray<class_poolbytearray>` at the end of this array.
 Append an :ref:`PoolByteArray<class_poolbytearray>` at the end of this array.
 
 
+.. _class_PoolByteArray_compress:
+
+- :ref:`PoolByteArray<class_poolbytearray>`  **compress**  **(** :ref:`int<class_int>` compression_mode=0  **)**
+
+Returns a new :ref:`PoolByteArray<class_poolbytearray>` with the data compressed. The compression mode can be set using one of the COMPRESS\_\* constants of :ref:`File<class_file>`.
+
+.. _class_PoolByteArray_decompress:
+
+- :ref:`PoolByteArray<class_poolbytearray>`  **decompress**  **(** :ref:`int<class_int>` buffer_size, :ref:`int<class_int>` compression_mode=0  **)**
+
+Returns a new :ref:`PoolByteArray<class_poolbytearray>` with the data decompressed. The buffer_size should be set as the size of the uncompressed data. The compression mode can be set using one of the COMPRESS\_\* constants of :ref:`File<class_file>`.
+
 .. _class_PoolByteArray_get_string_from_ascii:
 .. _class_PoolByteArray_get_string_from_ascii:
 
 
 - :ref:`String<class_string>`  **get_string_from_ascii**  **(** **)**
 - :ref:`String<class_string>`  **get_string_from_ascii**  **(** **)**
@@ -126,6 +142,6 @@ Return the size of the array.
 
 
 - :ref:`PoolByteArray<class_poolbytearray>`  **subarray**  **(** :ref:`int<class_int>` from, :ref:`int<class_int>` to  **)**
 - :ref:`PoolByteArray<class_poolbytearray>`  **subarray**  **(** :ref:`int<class_int>` from, :ref:`int<class_int>` to  **)**
 
 
-Returns the slice of the :ref:`PoolByteArray<class_poolbytearray>` between indices (inclusive) as a new :ref:`RawArray<class_rawarray>`.  Any negative index is considered to be from the end of the array.
+Returns the slice of the :ref:`PoolByteArray<class_poolbytearray>` between indices (inclusive) as a new :ref:`PoolByteArray<class_poolbytearray>`.  Any negative index is considered to be from the end of the array.
 
 
 
 

+ 2 - 2
classes/class_poolrealarray.rst

@@ -62,7 +62,7 @@ Append an element at the end of the array (alias of :ref:`push_back<class_PoolRe
 
 
 - void  **append_array**  **(** :ref:`PoolRealArray<class_poolrealarray>` array  **)**
 - void  **append_array**  **(** :ref:`PoolRealArray<class_poolrealarray>` array  **)**
 
 
-Append an :ref:`RealArray<class_realarray>` at the end of this array.
+Append an RealArray at the end of this array.
 
 
 .. _class_PoolRealArray_insert:
 .. _class_PoolRealArray_insert:
 
 
@@ -92,7 +92,7 @@ Remove an element from the array by index.
 
 
 - void  **resize**  **(** :ref:`int<class_int>` idx  **)**
 - void  **resize**  **(** :ref:`int<class_int>` idx  **)**
 
 
-Set the size of the :ref:`RealArray<class_realarray>`. If larger than the current size it will reserve some space beforehand, and if it is smaller it will cut off the array.
+Set the size of the RealArray. If larger than the current size it will reserve some space beforehand, and if it is smaller it will cut off the array.
 
 
 .. _class_PoolRealArray_set:
 .. _class_PoolRealArray_set:
 
 

+ 2 - 2
classes/class_poolstringarray.rst

@@ -64,7 +64,7 @@ Append an element at the end of the array (alias of :ref:`push_back<class_PoolSt
 
 
 - void  **append_array**  **(** :ref:`PoolStringArray<class_poolstringarray>` array  **)**
 - void  **append_array**  **(** :ref:`PoolStringArray<class_poolstringarray>` array  **)**
 
 
-Append an :ref:`StringArray<class_stringarray>` at the end of this array.
+Append an StringArray at the end of this array.
 
 
 .. _class_PoolStringArray_insert:
 .. _class_PoolStringArray_insert:
 
 
@@ -98,7 +98,7 @@ Remove an element from the array by index.
 
 
 - void  **resize**  **(** :ref:`int<class_int>` idx  **)**
 - void  **resize**  **(** :ref:`int<class_int>` idx  **)**
 
 
-Set the size of the :ref:`StringArray<class_stringarray>`. If larger than the current size it will reserve some space beforehand, and if it is smaller it will cut off the array.
+Set the size of the StringArray. If larger than the current size it will reserve some space beforehand, and if it is smaller it will cut off the array.
 
 
 .. _class_PoolStringArray_set:
 .. _class_PoolStringArray_set:
 
 

+ 19 - 2
classes/class_popupmenu.rst

@@ -51,7 +51,7 @@ Member Functions
 +----------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +----------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`int<class_int>`            | :ref:`get_item_index<class_PopupMenu_get_item_index>`  **(** :ref:`int<class_int>` id  **)** 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:`Variant<class_variant>`    | :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:`ShortCut<class_shortcut>`  | :ref:`get_item_shortcut<class_PopupMenu_get_item_shortcut>`  **(** :ref:`int<class_int>` idx  **)** const                                                                                                                              |
 +----------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +----------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
@@ -61,6 +61,8 @@ Member Functions
 +----------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +----------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`String<class_string>`      | :ref:`get_item_tooltip<class_PopupMenu_get_item_tooltip>`  **(** :ref:`int<class_int>` idx  **)** const                                                                                                                                |
 | :ref:`String<class_string>`      | :ref:`get_item_tooltip<class_PopupMenu_get_item_tooltip>`  **(** :ref:`int<class_int>` idx  **)** const                                                                                                                                |
 +----------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +----------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`          | :ref:`is_hide_on_checkable_item_selection<class_PopupMenu_is_hide_on_checkable_item_selection>`  **(** **)**                                                                                                                           |
++----------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`bool<class_bool>`          | :ref:`is_hide_on_item_selection<class_PopupMenu_is_hide_on_item_selection>`  **(** **)**                                                                                                                                               |
 | :ref:`bool<class_bool>`          | :ref:`is_hide_on_item_selection<class_PopupMenu_is_hide_on_item_selection>`  **(** **)**                                                                                                                                               |
 +----------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +----------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :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_checkable<class_PopupMenu_is_item_checkable>`  **(** :ref:`int<class_int>` idx  **)** const                                                                                                                              |
@@ -73,6 +75,8 @@ Member Functions
 +----------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +----------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                             | :ref:`remove_item<class_PopupMenu_remove_item>`  **(** :ref:`int<class_int>` idx  **)**                                                                                                                                                |
 | void                             | :ref:`remove_item<class_PopupMenu_remove_item>`  **(** :ref:`int<class_int>` idx  **)**                                                                                                                                                |
 +----------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +----------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                             | :ref:`set_hide_on_checkable_item_selection<class_PopupMenu_set_hide_on_checkable_item_selection>`  **(** :ref:`bool<class_bool>` enable  **)**                                                                                         |
++----------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                             | :ref:`set_hide_on_item_selection<class_PopupMenu_set_hide_on_item_selection>`  **(** :ref:`bool<class_bool>` enable  **)**                                                                                                             |
 | void                             | :ref:`set_hide_on_item_selection<class_PopupMenu_set_hide_on_item_selection>`  **(** :ref:`bool<class_bool>` enable  **)**                                                                                                             |
 +----------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +----------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                             | :ref:`set_item_ID<class_PopupMenu_set_item_ID>`  **(** :ref:`int<class_int>` idx, :ref:`int<class_int>` id  **)**                                                                                                                      |
 | void                             | :ref:`set_item_ID<class_PopupMenu_set_item_ID>`  **(** :ref:`int<class_int>` idx, :ref:`int<class_int>` id  **)**                                                                                                                      |
@@ -115,6 +119,7 @@ This event is emitted when an item of some index is pressed or its accelerator i
 Member Variables
 Member Variables
 ----------------
 ----------------
 
 
+- :ref:`bool<class_bool>` **hide_on_checkable_item_selection**
 - :ref:`bool<class_bool>` **hide_on_item_selection**
 - :ref:`bool<class_bool>` **hide_on_item_selection**
 - :ref:`Array<class_array>` **items**
 - :ref:`Array<class_array>` **items**
 
 
@@ -216,7 +221,7 @@ Find and return the index of the item containing a given id.
 
 
 .. _class_PopupMenu_get_item_metadata:
 .. _class_PopupMenu_get_item_metadata:
 
 
-- void  **get_item_metadata**  **(** :ref:`int<class_int>` idx  **)** const
+- :ref:`Variant<class_variant>`  **get_item_metadata**  **(** :ref:`int<class_int>` idx  **)** const
 
 
 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.
 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.
 
 
@@ -240,6 +245,12 @@ Return the text of the item at index "idx".
 
 
 - :ref:`String<class_string>`  **get_item_tooltip**  **(** :ref:`int<class_int>` idx  **)** const
 - :ref:`String<class_string>`  **get_item_tooltip**  **(** :ref:`int<class_int>` idx  **)** const
 
 
+.. _class_PopupMenu_is_hide_on_checkable_item_selection:
+
+- :ref:`bool<class_bool>`  **is_hide_on_checkable_item_selection**  **(** **)**
+
+Returns a boolean that indicates whether or not the PopupMenu will hide on checkable item selection.
+
 .. _class_PopupMenu_is_hide_on_item_selection:
 .. _class_PopupMenu_is_hide_on_item_selection:
 
 
 - :ref:`bool<class_bool>`  **is_hide_on_item_selection**  **(** **)**
 - :ref:`bool<class_bool>`  **is_hide_on_item_selection**  **(** **)**
@@ -276,6 +287,12 @@ Return whether the item is a seperator. If it is, it would be displayed as a lin
 
 
 Removes the item at index "idx" from the menu. Note that the indexes of items after the removed item are going to be shifted by one.
 Removes the item at index "idx" from the menu. Note that the indexes of items after the removed item are going to be shifted by one.
 
 
+.. _class_PopupMenu_set_hide_on_checkable_item_selection:
+
+- void  **set_hide_on_checkable_item_selection**  **(** :ref:`bool<class_bool>` enable  **)**
+
+Sets whether or not the PopupMenu will hide on checkable item selection.
+
 .. _class_PopupMenu_set_hide_on_item_selection:
 .. _class_PopupMenu_set_hide_on_item_selection:
 
 
 - void  **set_hide_on_item_selection**  **(** :ref:`bool<class_bool>` enable  **)**
 - void  **set_hide_on_item_selection**  **(** :ref:`bool<class_bool>` enable  **)**

+ 150 - 0
classes/class_projectsettings.rst

@@ -0,0 +1,150 @@
+.. 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_ProjectSettings:
+
+ProjectSettings
+===============
+
+**Inherits:** :ref:`Object<class_object>`
+
+**Category:** Core
+
+Brief Description
+-----------------
+
+Contains global variables accessible from everywhere.
+
+Member Functions
+----------------
+
++--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                           | :ref:`add_property_info<class_ProjectSettings_add_property_info>`  **(** :ref:`Dictionary<class_dictionary>` hint  **)**                              |
++--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                           | :ref:`clear<class_ProjectSettings_clear>`  **(** :ref:`String<class_string>` name  **)**                                                              |
++--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`          | :ref:`get_order<class_ProjectSettings_get_order>`  **(** :ref:`String<class_string>` name  **)** const                                                |
++--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Object<class_object>`    | :ref:`get_singleton<class_ProjectSettings_get_singleton>`  **(** :ref:`String<class_string>` name  **)** const                                        |
++--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_string>`    | :ref:`globalize_path<class_ProjectSettings_globalize_path>`  **(** :ref:`String<class_string>` path  **)** const                                      |
++--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`        | :ref:`has<class_ProjectSettings_has>`  **(** :ref:`String<class_string>` name  **)** const                                                            |
++--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`        | :ref:`has_singleton<class_ProjectSettings_has_singleton>`  **(** :ref:`String<class_string>` name  **)** const                                        |
++--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`        | :ref:`load_resource_pack<class_ProjectSettings_load_resource_pack>`  **(** :ref:`String<class_string>` pack  **)**                                    |
++--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_string>`    | :ref:`localize_path<class_ProjectSettings_localize_path>`  **(** :ref:`String<class_string>` path  **)** const                                        |
++--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`        | :ref:`property_can_revert<class_ProjectSettings_property_can_revert>`  **(** :ref:`String<class_string>` name  **)**                                  |
++--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Variant<class_variant>`  | :ref:`property_get_revert<class_ProjectSettings_property_get_revert>`  **(** :ref:`String<class_string>` name  **)**                                  |
++--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`          | :ref:`save<class_ProjectSettings_save>`  **(** **)**                                                                                                  |
++--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`          | :ref:`save_custom<class_ProjectSettings_save_custom>`  **(** :ref:`String<class_string>` file  **)**                                                  |
++--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                           | :ref:`set_initial_value<class_ProjectSettings_set_initial_value>`  **(** :ref:`String<class_string>` name, :ref:`Variant<class_variant>` value  **)** |
++--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                           | :ref:`set_order<class_ProjectSettings_set_order>`  **(** :ref:`String<class_string>` name, :ref:`int<class_int>` pos  **)**                           |
++--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------+
+
+Description
+-----------
+
+Contains global variables accessible from everywhere. Use the normal :ref:`Object<class_object>` API, such as "ProjectSettings.get(variable)", "ProjectSettings.set(variable,value)" or "ProjectSettings.has(variable)" to access them. Variables stored in project.godot are also loaded into ProjectSettings, making this object very useful for reading custom game configuration options.
+
+Member Function Description
+---------------------------
+
+.. _class_ProjectSettings_add_property_info:
+
+- void  **add_property_info**  **(** :ref:`Dictionary<class_dictionary>` hint  **)**
+
+Add a custom property info to a property. The dictionary must contain: name::ref:`String<class_string>`(the name of the property) and type::ref:`int<class_int>`(see TYPE\_\* in :ref:`@Global Scope<class_@global scope>`), and optionally hint::ref:`int<class_int>`(see PROPERTY_HINT\_\* in :ref:`@Global Scope<class_@global scope>`), hint_string::ref:`String<class_string>`.
+
+Example:
+
+::
+
+    ProjectSettings.set("category/property_name", 0)
+    
+    var property_info = {
+        "name": "category/property_name",
+        "type": TYPE_INT,
+        "hint": PROPERTY_HINT_ENUM,
+        "hint_string": "one,two,three"
+    }
+    
+    ProjectSettings.add_property_info(property_info)
+
+.. _class_ProjectSettings_clear:
+
+- void  **clear**  **(** :ref:`String<class_string>` name  **)**
+
+Clear the whole configuration (not recommended, may break things).
+
+.. _class_ProjectSettings_get_order:
+
+- :ref:`int<class_int>`  **get_order**  **(** :ref:`String<class_string>` name  **)** const
+
+Return the order of a configuration value (influences when saved to the config file).
+
+.. _class_ProjectSettings_get_singleton:
+
+- :ref:`Object<class_object>`  **get_singleton**  **(** :ref:`String<class_string>` name  **)** const
+
+.. _class_ProjectSettings_globalize_path:
+
+- :ref:`String<class_string>`  **globalize_path**  **(** :ref:`String<class_string>` path  **)** const
+
+Convert a localized path (res://) to a full native OS path.
+
+.. _class_ProjectSettings_has:
+
+- :ref:`bool<class_bool>`  **has**  **(** :ref:`String<class_string>` name  **)** const
+
+Return true if a configuration value is present.
+
+.. _class_ProjectSettings_has_singleton:
+
+- :ref:`bool<class_bool>`  **has_singleton**  **(** :ref:`String<class_string>` name  **)** const
+
+.. _class_ProjectSettings_load_resource_pack:
+
+- :ref:`bool<class_bool>`  **load_resource_pack**  **(** :ref:`String<class_string>` pack  **)**
+
+.. _class_ProjectSettings_localize_path:
+
+- :ref:`String<class_string>`  **localize_path**  **(** :ref:`String<class_string>` path  **)** const
+
+Convert a path to a localized path (res:// path).
+
+.. _class_ProjectSettings_property_can_revert:
+
+- :ref:`bool<class_bool>`  **property_can_revert**  **(** :ref:`String<class_string>` name  **)**
+
+.. _class_ProjectSettings_property_get_revert:
+
+- :ref:`Variant<class_variant>`  **property_get_revert**  **(** :ref:`String<class_string>` name  **)**
+
+.. _class_ProjectSettings_save:
+
+- :ref:`int<class_int>`  **save**  **(** **)**
+
+.. _class_ProjectSettings_save_custom:
+
+- :ref:`int<class_int>`  **save_custom**  **(** :ref:`String<class_string>` file  **)**
+
+.. _class_ProjectSettings_set_initial_value:
+
+- void  **set_initial_value**  **(** :ref:`String<class_string>` name, :ref:`Variant<class_variant>` value  **)**
+
+.. _class_ProjectSettings_set_order:
+
+- void  **set_order**  **(** :ref:`String<class_string>` name, :ref:`int<class_int>` pos  **)**
+
+Set the order of a configuration value (influences when saved to the config file).
+
+

+ 1 - 1
classes/class_rect2.rst

@@ -48,7 +48,7 @@ Member Variables
 ----------------
 ----------------
 
 
 - :ref:`Vector2<class_vector2>` **end** - Ending corner.
 - :ref:`Vector2<class_vector2>` **end** - Ending corner.
-- :ref:`Vector2<class_vector2>` **position**
+- :ref:`Vector2<class_vector2>` **position** - Position (starting corner).
 - :ref:`Vector2<class_vector2>` **size** - Size from position to end.
 - :ref:`Vector2<class_vector2>` **size** - Size from position to end.
 
 
 Description
 Description

+ 2 - 2
classes/class_rect3.rst

@@ -64,7 +64,7 @@ Member Variables
 ----------------
 ----------------
 
 
 - :ref:`Vector3<class_vector3>` **end** - Ending corner.
 - :ref:`Vector3<class_vector3>` **end** - Ending corner.
-- :ref:`Vector3<class_vector3>` **pos** - Position (starting corner).
+- :ref:`Vector3<class_vector3>` **position**
 - :ref:`Vector3<class_vector3>` **size** - Size from position to end.
 - :ref:`Vector3<class_vector3>` **size** - Size from position to end.
 
 
 Description
 Description
@@ -175,7 +175,7 @@ Return true if the :ref:`Rect3<class_rect3>` contains a point.
 
 
 - :ref:`Rect3<class_rect3>`  **intersection**  **(** :ref:`Rect3<class_rect3>` with  **)**
 - :ref:`Rect3<class_rect3>`  **intersection**  **(** :ref:`Rect3<class_rect3>` with  **)**
 
 
-Return the intersection between two :ref:`Rect3<class_rect3>`. An empty AABB (size 0,0,0) is returned on failure.
+Return the intersection between two :ref:`Rect3<class_rect3>`. An empty Rect3 (size 0,0,0) is returned on failure.
 
 
 .. _class_Rect3_intersects:
 .. _class_Rect3_intersects:
 
 

+ 1 - 1
classes/class_reference.rst

@@ -8,7 +8,7 @@ Reference
 
 
 **Inherits:** :ref:`Object<class_object>`
 **Inherits:** :ref:`Object<class_object>`
 
 
-**Inherited By:** :ref:`RegExMatch<class_regexmatch>`, :ref:`SurfaceTool<class_surfacetool>`, :ref:`SpatialGizmo<class_spatialgizmo>`, :ref:`TriangleMesh<class_trianglemesh>`, :ref:`PhysicsShapeQueryResult<class_physicsshapequeryresult>`, :ref:`Physics2DTestMotionResult<class_physics2dtestmotionresult>`, :ref:`FuncRef<class_funcref>`, :ref:`Marshalls<class_marshalls>`, :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:`VisualScriptFunctionState<class_visualscriptfunctionstate>`, :ref:`GDFunctionState<class_gdfunctionstate>`, :ref:`EditorResourcePreviewGenerator<class_editorresourcepreviewgenerator>`, :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:`AStar<class_astar>`, :ref:`SceneState<class_scenestate>`, :ref:`GDNativeClass<class_gdnativeclass>`, :ref:`PCKPacker<class_pckpacker>`, :ref:`MeshDataTool<class_meshdatatool>`, :ref:`WeakRef<class_weakref>`, :ref:`ResourceImporter<class_resourceimporter>`, :ref:`Resource<class_resource>`, :ref:`SceneTreeTimer<class_scenetreetimer>`, :ref:`Thread<class_thread>`, :ref:`PackedDataContainerRef<class_packeddatacontainerref>`, :ref:`ResourceInteractiveLoader<class_resourceinteractiveloader>`, :ref:`PhysicsShapeQueryParameters<class_physicsshapequeryparameters>`
+**Inherited By:** :ref:`RegExMatch<class_regexmatch>`, :ref:`SurfaceTool<class_surfacetool>`, :ref:`SpatialGizmo<class_spatialgizmo>`, :ref:`TriangleMesh<class_trianglemesh>`, :ref:`PhysicsShapeQueryResult<class_physicsshapequeryresult>`, :ref:`Physics2DTestMotionResult<class_physics2dtestmotionresult>`, :ref:`FuncRef<class_funcref>`, :ref:`Marshalls<class_marshalls>`, :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:`VisualScriptFunctionState<class_visualscriptfunctionstate>`, :ref:`GDFunctionState<class_gdfunctionstate>`, :ref:`SpatialVelocityTracker<class_spatialvelocitytracker>`, :ref:`EditorResourcePreviewGenerator<class_editorresourcepreviewgenerator>`, :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:`AStar<class_astar>`, :ref:`SceneState<class_scenestate>`, :ref:`GDNativeClass<class_gdnativeclass>`, :ref:`PCKPacker<class_pckpacker>`, :ref:`MeshDataTool<class_meshdatatool>`, :ref:`WeakRef<class_weakref>`, :ref:`ResourceImporter<class_resourceimporter>`, :ref:`Resource<class_resource>`, :ref:`SceneTreeTimer<class_scenetreetimer>`, :ref:`Thread<class_thread>`, :ref:`PackedDataContainerRef<class_packeddatacontainerref>`, :ref:`ResourceInteractiveLoader<class_resourceinteractiveloader>`, :ref:`PhysicsShapeQueryParameters<class_physicsshapequeryparameters>`
 
 
 **Category:** Core
 **Category:** Core
 
 

+ 22 - 22
classes/class_regex.rst

@@ -18,23 +18,23 @@ Simple regular expression matcher.
 Member Functions
 Member Functions
 ----------------
 ----------------
 
 
-+------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                         | :ref:`clear<class_RegEx_clear>`  **(** **)**                                                                                                                                                                              |
-+------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`        | :ref:`compile<class_RegEx_compile>`  **(** :ref:`String<class_string>` pattern  **)**                                                                                                                                     |
-+------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`        | :ref:`get_group_count<class_RegEx_get_group_count>`  **(** **)** const                                                                                                                                                    |
-+------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Array<class_array>`    | :ref:`get_names<class_RegEx_get_names>`  **(** **)** const                                                                                                                                                                |
-+------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_string>`  | :ref:`get_pattern<class_RegEx_get_pattern>`  **(** **)** const                                                                                                                                                            |
-+------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`      | :ref:`is_valid<class_RegEx_is_valid>`  **(** **)** const                                                                                                                                                                  |
-+------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Object<class_object>`  | :ref:`search<class_RegEx_search>`  **(** :ref:`String<class_string>` text, :ref:`int<class_int>` start=0, :ref:`int<class_int>` end=-1  **)** const                                                                       |
-+------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_string>`  | :ref:`sub<class_RegEx_sub>`  **(** :ref:`String<class_string>` text, :ref:`String<class_string>` replacement, :ref:`bool<class_bool>` all=false, :ref:`int<class_int>` start=0, :ref:`int<class_int>` end=-1  **)** const |
-+------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
++--------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                 | :ref:`clear<class_RegEx_clear>`  **(** **)**                                                                                                                                                                              |
++--------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                | :ref:`compile<class_RegEx_compile>`  **(** :ref:`String<class_string>` pattern  **)**                                                                                                                                     |
++--------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                | :ref:`get_group_count<class_RegEx_get_group_count>`  **(** **)** const                                                                                                                                                    |
++--------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Array<class_array>`            | :ref:`get_names<class_RegEx_get_names>`  **(** **)** const                                                                                                                                                                |
++--------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_string>`          | :ref:`get_pattern<class_RegEx_get_pattern>`  **(** **)** const                                                                                                                                                            |
++--------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`              | :ref:`is_valid<class_RegEx_is_valid>`  **(** **)** const                                                                                                                                                                  |
++--------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`RegExMatch<class_regexmatch>`  | :ref:`search<class_RegEx_search>`  **(** :ref:`String<class_string>` text, :ref:`int<class_int>` start=0, :ref:`int<class_int>` end=-1  **)** const                                                                       |
++--------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_string>`          | :ref:`sub<class_RegEx_sub>`  **(** :ref:`String<class_string>` text, :ref:`String<class_string>` replacement, :ref:`bool<class_bool>` all=false, :ref:`int<class_int>` start=0, :ref:`int<class_int>` end=-1  **)** const |
++--------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 
 
 Member Variables
 Member Variables
 ----------------
 ----------------
@@ -56,9 +56,9 @@ would be read by RegEx as ``\d+``
 
 
 Similarly:
 Similarly:
 
 
-``exp.compile("\"(?:\\\\.|:ref:`^\"<class_^\">`)\*\"")``
+``exp.compile("\"(?:\\\\.|[^\"])\*\"")``
 
 
-would be read as ``"(?:\\.|:ref:`^"<class_^">`)\*"``
+would be read as ``"(?:\\.|[^"])\*"``
 
 
 Currently supported features:
 Currently supported features:
 
 
@@ -70,7 +70,7 @@ Currently supported features:
 
 
 \* 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 ``[A-Za-z]``
 
 
 \* Simple quantifiers ``?``, ``\*`` and ``+``
 \* Simple quantifiers ``?``, ``\*`` and ``+``
 
 
@@ -84,7 +84,7 @@ Currently supported features:
 
 
 \* Backreferences ``\1``, ``\g{1}``, and ``\g<name>``
 \* Backreferences ``\1``, ``\g{1}``, and ``\g<name>``
 
 
-\* POSIX character classes ``:ref:`[:alnum:<class_[:alnum:>`]``
+\* POSIX character classes ``[[:alnum:]]``
 
 
 \* Lookahead ``(?=)``, ``(?!)`` and lookbehind ``(?<=)``, ``(?<!)``
 \* Lookahead ``(?=)``, ``(?!)`` and lookbehind ``(?<=)``, ``(?<!)``
 
 
@@ -133,7 +133,7 @@ Returns whether this object has a valid regular expression assigned.
 
 
 .. _class_RegEx_search:
 .. _class_RegEx_search:
 
 
-- :ref:`Object<class_object>`  **search**  **(** :ref:`String<class_string>` text, :ref:`int<class_int>` start=0, :ref:`int<class_int>` end=-1  **)** const
+- :ref:`RegExMatch<class_regexmatch>`  **search**  **(** :ref:`String<class_string>` text, :ref:`int<class_int>` start=0, :ref:`int<class_int>` end=-1  **)** const
 
 
 Searches the text for the compiled pattern. Returns a :ref:`RegExMatch<class_regexmatch>` container of the first matching reult if found, otherwise null. The region to search within can be specified without modifying where the start and end anchor would be.
 Searches the text for the compiled pattern. Returns a :ref:`RegExMatch<class_regexmatch>` container of the first matching reult if found, otherwise null. The region to search within can be specified without modifying where the start and end anchor would be.
 
 

+ 57 - 5
classes/class_remotetransform.rst

@@ -18,16 +18,36 @@ Brief Description
 Member Functions
 Member Functions
 ----------------
 ----------------
 
 
-+----------------------------------+------------------------------------------------------------------------------------------------------------------+
-| :ref:`NodePath<class_nodepath>`  | :ref:`get_remote_node<class_RemoteTransform_get_remote_node>`  **(** **)** const                                 |
-+----------------------------------+------------------------------------------------------------------------------------------------------------------+
-| void                             | :ref:`set_remote_node<class_RemoteTransform_set_remote_node>`  **(** :ref:`NodePath<class_nodepath>` path  **)** |
-+----------------------------------+------------------------------------------------------------------------------------------------------------------+
++----------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`NodePath<class_nodepath>`  | :ref:`get_remote_node<class_RemoteTransform_get_remote_node>`  **(** **)** const                                                                 |
++----------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`          | :ref:`get_update_position<class_RemoteTransform_get_update_position>`  **(** **)** const                                                         |
++----------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`          | :ref:`get_update_rotation<class_RemoteTransform_get_update_rotation>`  **(** **)** const                                                         |
++----------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`          | :ref:`get_update_scale<class_RemoteTransform_get_update_scale>`  **(** **)** const                                                               |
++----------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`          | :ref:`get_use_global_coordinates<class_RemoteTransform_get_use_global_coordinates>`  **(** **)** const                                           |
++----------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                             | :ref:`set_remote_node<class_RemoteTransform_set_remote_node>`  **(** :ref:`NodePath<class_nodepath>` path  **)**                                 |
++----------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                             | :ref:`set_update_position<class_RemoteTransform_set_update_position>`  **(** :ref:`bool<class_bool>` update_remote_position  **)**               |
++----------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                             | :ref:`set_update_rotation<class_RemoteTransform_set_update_rotation>`  **(** :ref:`bool<class_bool>` update_remote_rotation  **)**               |
++----------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                             | :ref:`set_update_scale<class_RemoteTransform_set_update_scale>`  **(** :ref:`bool<class_bool>` update_remote_scale  **)**                        |
++----------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                             | :ref:`set_use_global_coordinates<class_RemoteTransform_set_use_global_coordinates>`  **(** :ref:`bool<class_bool>` use_global_coordinates  **)** |
++----------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+
 
 
 Member Variables
 Member Variables
 ----------------
 ----------------
 
 
 - :ref:`NodePath<class_nodepath>` **remote_path**
 - :ref:`NodePath<class_nodepath>` **remote_path**
+- :ref:`bool<class_bool>` **update_position**
+- :ref:`bool<class_bool>` **update_rotation**
+- :ref:`bool<class_bool>` **update_scale**
+- :ref:`bool<class_bool>` **use_global_coordinates**
 
 
 Member Function Description
 Member Function Description
 ---------------------------
 ---------------------------
@@ -36,8 +56,40 @@ Member Function Description
 
 
 - :ref:`NodePath<class_nodepath>`  **get_remote_node**  **(** **)** const
 - :ref:`NodePath<class_nodepath>`  **get_remote_node**  **(** **)** const
 
 
+.. _class_RemoteTransform_get_update_position:
+
+- :ref:`bool<class_bool>`  **get_update_position**  **(** **)** const
+
+.. _class_RemoteTransform_get_update_rotation:
+
+- :ref:`bool<class_bool>`  **get_update_rotation**  **(** **)** const
+
+.. _class_RemoteTransform_get_update_scale:
+
+- :ref:`bool<class_bool>`  **get_update_scale**  **(** **)** const
+
+.. _class_RemoteTransform_get_use_global_coordinates:
+
+- :ref:`bool<class_bool>`  **get_use_global_coordinates**  **(** **)** const
+
 .. _class_RemoteTransform_set_remote_node:
 .. _class_RemoteTransform_set_remote_node:
 
 
 - void  **set_remote_node**  **(** :ref:`NodePath<class_nodepath>` path  **)**
 - void  **set_remote_node**  **(** :ref:`NodePath<class_nodepath>` path  **)**
 
 
+.. _class_RemoteTransform_set_update_position:
+
+- void  **set_update_position**  **(** :ref:`bool<class_bool>` update_remote_position  **)**
+
+.. _class_RemoteTransform_set_update_rotation:
+
+- void  **set_update_rotation**  **(** :ref:`bool<class_bool>` update_remote_rotation  **)**
+
+.. _class_RemoteTransform_set_update_scale:
+
+- void  **set_update_scale**  **(** :ref:`bool<class_bool>` update_remote_scale  **)**
+
+.. _class_RemoteTransform_set_use_global_coordinates:
+
+- void  **set_use_global_coordinates**  **(** :ref:`bool<class_bool>` use_global_coordinates  **)**
+
 
 

+ 57 - 5
classes/class_remotetransform2d.rst

@@ -18,16 +18,36 @@ Brief Description
 Member Functions
 Member Functions
 ----------------
 ----------------
 
 
-+----------------------------------+--------------------------------------------------------------------------------------------------------------------+
-| :ref:`NodePath<class_nodepath>`  | :ref:`get_remote_node<class_RemoteTransform2D_get_remote_node>`  **(** **)** const                                 |
-+----------------------------------+--------------------------------------------------------------------------------------------------------------------+
-| void                             | :ref:`set_remote_node<class_RemoteTransform2D_set_remote_node>`  **(** :ref:`NodePath<class_nodepath>` path  **)** |
-+----------------------------------+--------------------------------------------------------------------------------------------------------------------+
++----------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`NodePath<class_nodepath>`  | :ref:`get_remote_node<class_RemoteTransform2D_get_remote_node>`  **(** **)** const                                                                 |
++----------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`          | :ref:`get_update_position<class_RemoteTransform2D_get_update_position>`  **(** **)** const                                                         |
++----------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`          | :ref:`get_update_rotation<class_RemoteTransform2D_get_update_rotation>`  **(** **)** const                                                         |
++----------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`          | :ref:`get_update_scale<class_RemoteTransform2D_get_update_scale>`  **(** **)** const                                                               |
++----------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`          | :ref:`get_use_global_coordinates<class_RemoteTransform2D_get_use_global_coordinates>`  **(** **)** const                                           |
++----------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                             | :ref:`set_remote_node<class_RemoteTransform2D_set_remote_node>`  **(** :ref:`NodePath<class_nodepath>` path  **)**                                 |
++----------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                             | :ref:`set_update_position<class_RemoteTransform2D_set_update_position>`  **(** :ref:`bool<class_bool>` update_remote_position  **)**               |
++----------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                             | :ref:`set_update_rotation<class_RemoteTransform2D_set_update_rotation>`  **(** :ref:`bool<class_bool>` update_remote_rotation  **)**               |
++----------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                             | :ref:`set_update_scale<class_RemoteTransform2D_set_update_scale>`  **(** :ref:`bool<class_bool>` update_remote_scale  **)**                        |
++----------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                             | :ref:`set_use_global_coordinates<class_RemoteTransform2D_set_use_global_coordinates>`  **(** :ref:`bool<class_bool>` use_global_coordinates  **)** |
++----------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------+
 
 
 Member Variables
 Member Variables
 ----------------
 ----------------
 
 
 - :ref:`NodePath<class_nodepath>` **remote_path**
 - :ref:`NodePath<class_nodepath>` **remote_path**
+- :ref:`bool<class_bool>` **update_position**
+- :ref:`bool<class_bool>` **update_rotation**
+- :ref:`bool<class_bool>` **update_scale**
+- :ref:`bool<class_bool>` **use_global_coordinates**
 
 
 Member Function Description
 Member Function Description
 ---------------------------
 ---------------------------
@@ -36,8 +56,40 @@ Member Function Description
 
 
 - :ref:`NodePath<class_nodepath>`  **get_remote_node**  **(** **)** const
 - :ref:`NodePath<class_nodepath>`  **get_remote_node**  **(** **)** const
 
 
+.. _class_RemoteTransform2D_get_update_position:
+
+- :ref:`bool<class_bool>`  **get_update_position**  **(** **)** const
+
+.. _class_RemoteTransform2D_get_update_rotation:
+
+- :ref:`bool<class_bool>`  **get_update_rotation**  **(** **)** const
+
+.. _class_RemoteTransform2D_get_update_scale:
+
+- :ref:`bool<class_bool>`  **get_update_scale**  **(** **)** const
+
+.. _class_RemoteTransform2D_get_use_global_coordinates:
+
+- :ref:`bool<class_bool>`  **get_use_global_coordinates**  **(** **)** const
+
 .. _class_RemoteTransform2D_set_remote_node:
 .. _class_RemoteTransform2D_set_remote_node:
 
 
 - void  **set_remote_node**  **(** :ref:`NodePath<class_nodepath>` path  **)**
 - void  **set_remote_node**  **(** :ref:`NodePath<class_nodepath>` path  **)**
 
 
+.. _class_RemoteTransform2D_set_update_position:
+
+- void  **set_update_position**  **(** :ref:`bool<class_bool>` update_remote_position  **)**
+
+.. _class_RemoteTransform2D_set_update_rotation:
+
+- void  **set_update_rotation**  **(** :ref:`bool<class_bool>` update_remote_rotation  **)**
+
+.. _class_RemoteTransform2D_set_update_scale:
+
+- void  **set_update_scale**  **(** :ref:`bool<class_bool>` update_remote_scale  **)**
+
+.. _class_RemoteTransform2D_set_use_global_coordinates:
+
+- void  **set_use_global_coordinates**  **(** :ref:`bool<class_bool>` use_global_coordinates  **)**
+
 
 

+ 1 - 1
classes/class_resource.rst

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

+ 98 - 79
classes/class_richtextlabel.rst

@@ -18,83 +18,89 @@ Label that displays rich text.
 Member Functions
 Member Functions
 ----------------
 ----------------
 
 
-+------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                         | :ref:`add_image<class_RichTextLabel_add_image>`  **(** :ref:`Texture<class_texture>` image  **)**                                                                                   |
-+------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                         | :ref:`add_text<class_RichTextLabel_add_text>`  **(** :ref:`String<class_string>` text  **)**                                                                                        |
-+------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`        | :ref:`append_bbcode<class_RichTextLabel_append_bbcode>`  **(** :ref:`String<class_string>` bbcode  **)**                                                                            |
-+------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                         | :ref:`clear<class_RichTextLabel_clear>`  **(** **)**                                                                                                                                |
-+------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_string>`  | :ref:`get_bbcode<class_RichTextLabel_get_bbcode>`  **(** **)** const                                                                                                                |
-+------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :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>`  **(** **)**                                                                                                                  |
-+------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`        | :ref:`get_visible_characters<class_RichTextLabel_get_visible_characters>`  **(** **)** const                                                                                        |
-+------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`      | :ref:`is_meta_underlined<class_RichTextLabel_is_meta_underlined>`  **(** **)** const                                                                                                |
-+------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`      | :ref:`is_scroll_active<class_RichTextLabel_is_scroll_active>`  **(** **)** const                                                                                                    |
-+------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`      | :ref:`is_scroll_following<class_RichTextLabel_is_scroll_following>`  **(** **)** const                                                                                              |
-+------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`      | :ref:`is_selection_enabled<class_RichTextLabel_is_selection_enabled>`  **(** **)** const                                                                                            |
-+------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`      | :ref:`is_using_bbcode<class_RichTextLabel_is_using_bbcode>`  **(** **)** const                                                                                                      |
-+------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                         | :ref:`newline<class_RichTextLabel_newline>`  **(** **)**                                                                                                                            |
-+------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`        | :ref:`parse_bbcode<class_RichTextLabel_parse_bbcode>`  **(** :ref:`String<class_string>` bbcode  **)**                                                                              |
-+------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                         | :ref:`pop<class_RichTextLabel_pop>`  **(** **)**                                                                                                                                    |
-+------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                         | :ref:`push_align<class_RichTextLabel_push_align>`  **(** :ref:`int<class_int>` align  **)**                                                                                         |
-+------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                         | :ref:`push_cell<class_RichTextLabel_push_cell>`  **(** **)**                                                                                                                        |
-+------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                         | :ref:`push_color<class_RichTextLabel_push_color>`  **(** :ref:`Color<class_color>` color  **)**                                                                                     |
-+------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                         | :ref:`push_font<class_RichTextLabel_push_font>`  **(** :ref:`Object<class_object>` font  **)**                                                                                      |
-+------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                         | :ref:`push_indent<class_RichTextLabel_push_indent>`  **(** :ref:`int<class_int>` level  **)**                                                                                       |
-+------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                         | :ref:`push_list<class_RichTextLabel_push_list>`  **(** :ref:`int<class_int>` type  **)**                                                                                            |
-+------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| 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  **)**                                                                                       |
-+------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                         | :ref:`push_underline<class_RichTextLabel_push_underline>`  **(** **)**                                                                                                              |
-+------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`      | :ref:`remove_line<class_RichTextLabel_remove_line>`  **(** :ref:`int<class_int>` arg0  **)**                                                                                        |
-+------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                         | :ref:`scroll_to_line<class_RichTextLabel_scroll_to_line>`  **(** :ref:`int<class_int>` line  **)**                                                                                  |
-+------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                         | :ref:`set_bbcode<class_RichTextLabel_set_bbcode>`  **(** :ref:`String<class_string>` text  **)**                                                                                    |
-+------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                         | :ref:`set_meta_underline<class_RichTextLabel_set_meta_underline>`  **(** :ref:`bool<class_bool>` enable  **)**                                                                      |
-+------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                         | :ref:`set_scroll_active<class_RichTextLabel_set_scroll_active>`  **(** :ref:`bool<class_bool>` active  **)**                                                                        |
-+------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                         | :ref:`set_scroll_follow<class_RichTextLabel_set_scroll_follow>`  **(** :ref:`bool<class_bool>` follow  **)**                                                                        |
-+------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                         | :ref:`set_selection_enabled<class_RichTextLabel_set_selection_enabled>`  **(** :ref:`bool<class_bool>` enabled  **)**                                                               |
-+------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                         | :ref:`set_tab_size<class_RichTextLabel_set_tab_size>`  **(** :ref:`int<class_int>` spaces  **)**                                                                                    |
-+------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                         | :ref:`set_table_column_expand<class_RichTextLabel_set_table_column_expand>`  **(** :ref:`int<class_int>` column, :ref:`bool<class_bool>` expand, :ref:`int<class_int>` ratio  **)** |
-+------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                         | :ref:`set_use_bbcode<class_RichTextLabel_set_use_bbcode>`  **(** :ref:`bool<class_bool>` enable  **)**                                                                              |
-+------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                         | :ref:`set_visible_characters<class_RichTextLabel_set_visible_characters>`  **(** :ref:`int<class_int>` amount  **)**                                                                |
-+------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
++--------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                 | :ref:`add_image<class_RichTextLabel_add_image>`  **(** :ref:`Texture<class_texture>` image  **)**                                                                                   |
++--------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                 | :ref:`add_text<class_RichTextLabel_add_text>`  **(** :ref:`String<class_string>` text  **)**                                                                                        |
++--------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                | :ref:`append_bbcode<class_RichTextLabel_append_bbcode>`  **(** :ref:`String<class_string>` bbcode  **)**                                                                            |
++--------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                 | :ref:`clear<class_RichTextLabel_clear>`  **(** **)**                                                                                                                                |
++--------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_string>`          | :ref:`get_bbcode<class_RichTextLabel_get_bbcode>`  **(** **)** const                                                                                                                |
++--------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`            | :ref:`get_percent_visible<class_RichTextLabel_get_percent_visible>`  **(** **)** const                                                                                              |
++--------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :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:`VScrollBar<class_vscrollbar>`  | :ref:`get_v_scroll<class_RichTextLabel_get_v_scroll>`  **(** **)**                                                                                                                  |
++--------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                | :ref:`get_visible_characters<class_RichTextLabel_get_visible_characters>`  **(** **)** const                                                                                        |
++--------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`              | :ref:`is_meta_underlined<class_RichTextLabel_is_meta_underlined>`  **(** **)** const                                                                                                |
++--------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`              | :ref:`is_scroll_active<class_RichTextLabel_is_scroll_active>`  **(** **)** const                                                                                                    |
++--------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`              | :ref:`is_scroll_following<class_RichTextLabel_is_scroll_following>`  **(** **)** const                                                                                              |
++--------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`              | :ref:`is_selection_enabled<class_RichTextLabel_is_selection_enabled>`  **(** **)** const                                                                                            |
++--------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`              | :ref:`is_using_bbcode<class_RichTextLabel_is_using_bbcode>`  **(** **)** const                                                                                                      |
++--------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                 | :ref:`newline<class_RichTextLabel_newline>`  **(** **)**                                                                                                                            |
++--------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                | :ref:`parse_bbcode<class_RichTextLabel_parse_bbcode>`  **(** :ref:`String<class_string>` bbcode  **)**                                                                              |
++--------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                 | :ref:`pop<class_RichTextLabel_pop>`  **(** **)**                                                                                                                                    |
++--------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                 | :ref:`push_align<class_RichTextLabel_push_align>`  **(** :ref:`int<class_int>` align  **)**                                                                                         |
++--------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                 | :ref:`push_cell<class_RichTextLabel_push_cell>`  **(** **)**                                                                                                                        |
++--------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                 | :ref:`push_color<class_RichTextLabel_push_color>`  **(** :ref:`Color<class_color>` color  **)**                                                                                     |
++--------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                 | :ref:`push_font<class_RichTextLabel_push_font>`  **(** :ref:`Font<class_font>` font  **)**                                                                                          |
++--------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                 | :ref:`push_indent<class_RichTextLabel_push_indent>`  **(** :ref:`int<class_int>` level  **)**                                                                                       |
++--------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                 | :ref:`push_list<class_RichTextLabel_push_list>`  **(** :ref:`int<class_int>` type  **)**                                                                                            |
++--------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| 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  **)**                                                                                       |
++--------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                 | :ref:`push_underline<class_RichTextLabel_push_underline>`  **(** **)**                                                                                                              |
++--------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`              | :ref:`remove_line<class_RichTextLabel_remove_line>`  **(** :ref:`int<class_int>` arg0  **)**                                                                                        |
++--------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                 | :ref:`scroll_to_line<class_RichTextLabel_scroll_to_line>`  **(** :ref:`int<class_int>` line  **)**                                                                                  |
++--------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                 | :ref:`set_bbcode<class_RichTextLabel_set_bbcode>`  **(** :ref:`String<class_string>` text  **)**                                                                                    |
++--------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                 | :ref:`set_meta_underline<class_RichTextLabel_set_meta_underline>`  **(** :ref:`bool<class_bool>` enable  **)**                                                                      |
++--------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                 | :ref:`set_percent_visible<class_RichTextLabel_set_percent_visible>`  **(** :ref:`float<class_float>` percent_visible  **)**                                                         |
++--------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                 | :ref:`set_scroll_active<class_RichTextLabel_set_scroll_active>`  **(** :ref:`bool<class_bool>` active  **)**                                                                        |
++--------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                 | :ref:`set_scroll_follow<class_RichTextLabel_set_scroll_follow>`  **(** :ref:`bool<class_bool>` follow  **)**                                                                        |
++--------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                 | :ref:`set_selection_enabled<class_RichTextLabel_set_selection_enabled>`  **(** :ref:`bool<class_bool>` enabled  **)**                                                               |
++--------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                 | :ref:`set_tab_size<class_RichTextLabel_set_tab_size>`  **(** :ref:`int<class_int>` spaces  **)**                                                                                    |
++--------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                 | :ref:`set_table_column_expand<class_RichTextLabel_set_table_column_expand>`  **(** :ref:`int<class_int>` column, :ref:`bool<class_bool>` expand, :ref:`int<class_int>` ratio  **)** |
++--------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                 | :ref:`set_text<class_RichTextLabel_set_text>`  **(** :ref:`String<class_string>` text  **)**                                                                                        |
++--------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                 | :ref:`set_use_bbcode<class_RichTextLabel_set_use_bbcode>`  **(** :ref:`bool<class_bool>` enable  **)**                                                                              |
++--------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                 | :ref:`set_visible_characters<class_RichTextLabel_set_visible_characters>`  **(** :ref:`int<class_int>` amount  **)**                                                                |
++--------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 
 
 Signals
 Signals
 -------
 -------
@@ -106,6 +112,7 @@ Member Variables
 
 
 - :ref:`bool<class_bool>` **bbcode_enabled**
 - :ref:`bool<class_bool>` **bbcode_enabled**
 - :ref:`String<class_string>` **bbcode_text**
 - :ref:`String<class_string>` **bbcode_text**
+- :ref:`float<class_float>` **percent_visible**
 - :ref:`int<class_int>` **visible_characters**
 - :ref:`int<class_int>` **visible_characters**
 
 
 Numeric Constants
 Numeric Constants
@@ -158,6 +165,10 @@ Member Function Description
 
 
 - :ref:`String<class_string>`  **get_bbcode**  **(** **)** const
 - :ref:`String<class_string>`  **get_bbcode**  **(** **)** const
 
 
+.. _class_RichTextLabel_get_percent_visible:
+
+- :ref:`float<class_float>`  **get_percent_visible**  **(** **)** const
+
 .. _class_RichTextLabel_get_tab_size:
 .. _class_RichTextLabel_get_tab_size:
 
 
 - :ref:`int<class_int>`  **get_tab_size**  **(** **)** const
 - :ref:`int<class_int>`  **get_tab_size**  **(** **)** const
@@ -174,7 +185,7 @@ Returns the raw text, stripping out the formatting information.
 
 
 .. _class_RichTextLabel_get_v_scroll:
 .. _class_RichTextLabel_get_v_scroll:
 
 
-- :ref:`Object<class_object>`  **get_v_scroll**  **(** **)**
+- :ref:`VScrollBar<class_vscrollbar>`  **get_v_scroll**  **(** **)**
 
 
 .. _class_RichTextLabel_get_visible_characters:
 .. _class_RichTextLabel_get_visible_characters:
 
 
@@ -228,7 +239,7 @@ Return true if selecting the text inside this richtext is allowed.
 
 
 .. _class_RichTextLabel_push_font:
 .. _class_RichTextLabel_push_font:
 
 
-- void  **push_font**  **(** :ref:`Object<class_object>` font  **)**
+- void  **push_font**  **(** :ref:`Font<class_font>` font  **)**
 
 
 .. _class_RichTextLabel_push_indent:
 .. _class_RichTextLabel_push_indent:
 
 
@@ -266,6 +277,10 @@ Return true if selecting the text inside this richtext is allowed.
 
 
 - void  **set_meta_underline**  **(** :ref:`bool<class_bool>` enable  **)**
 - void  **set_meta_underline**  **(** :ref:`bool<class_bool>` enable  **)**
 
 
+.. _class_RichTextLabel_set_percent_visible:
+
+- void  **set_percent_visible**  **(** :ref:`float<class_float>` percent_visible  **)**
+
 .. _class_RichTextLabel_set_scroll_active:
 .. _class_RichTextLabel_set_scroll_active:
 
 
 - void  **set_scroll_active**  **(** :ref:`bool<class_bool>` active  **)**
 - void  **set_scroll_active**  **(** :ref:`bool<class_bool>` active  **)**
@@ -288,6 +303,10 @@ Set to true if selecting the text inside this richtext is allowed.
 
 
 - void  **set_table_column_expand**  **(** :ref:`int<class_int>` column, :ref:`bool<class_bool>` expand, :ref:`int<class_int>` ratio  **)**
 - void  **set_table_column_expand**  **(** :ref:`int<class_int>` column, :ref:`bool<class_bool>` expand, :ref:`int<class_int>` ratio  **)**
 
 
+.. _class_RichTextLabel_set_text:
+
+- void  **set_text**  **(** :ref:`String<class_string>` text  **)**
+
 .. _class_RichTextLabel_set_use_bbcode:
 .. _class_RichTextLabel_set_use_bbcode:
 
 
 - void  **set_use_bbcode**  **(** :ref:`bool<class_bool>` enable  **)**
 - void  **set_use_bbcode**  **(** :ref:`bool<class_bool>` enable  **)**

+ 2 - 2
classes/class_scenestate.rst

@@ -51,7 +51,7 @@ Member Functions
 +------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------+
 +------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`String<class_string>`                    | :ref:`get_node_property_name<class_SceneState_get_node_property_name>`  **(** :ref:`int<class_int>` idx, :ref:`int<class_int>` prop_idx  **)** const   |
 | :ref:`String<class_string>`                    | :ref:`get_node_property_name<class_SceneState_get_node_property_name>`  **(** :ref:`int<class_int>` idx, :ref:`int<class_int>` prop_idx  **)** const   |
 +------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------+
 +------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                           | :ref:`get_node_property_value<class_SceneState_get_node_property_value>`  **(** :ref:`int<class_int>` idx, :ref:`int<class_int>` prop_idx  **)** const |
+| :ref:`Variant<class_variant>`                  | :ref:`get_node_property_value<class_SceneState_get_node_property_value>`  **(** :ref:`int<class_int>` idx, :ref:`int<class_int>` prop_idx  **)** const |
 +------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------+
 +------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`String<class_string>`                    | :ref:`get_node_type<class_SceneState_get_node_type>`  **(** :ref:`int<class_int>` idx  **)** const                                                     |
 | :ref:`String<class_string>`                    | :ref:`get_node_type<class_SceneState_get_node_type>`  **(** :ref:`int<class_int>` idx  **)** const                                                     |
 +------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------+
 +------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------+
@@ -134,7 +134,7 @@ Member Function Description
 
 
 .. _class_SceneState_get_node_property_value:
 .. _class_SceneState_get_node_property_value:
 
 
-- void  **get_node_property_value**  **(** :ref:`int<class_int>` idx, :ref:`int<class_int>` prop_idx  **)** const
+- :ref:`Variant<class_variant>`  **get_node_property_value**  **(** :ref:`int<class_int>` idx, :ref:`int<class_int>` prop_idx  **)** const
 
 
 .. _class_SceneState_get_node_type:
 .. _class_SceneState_get_node_type:
 
 

+ 6 - 0
classes/class_scenetree.rst

@@ -35,6 +35,8 @@ Member Functions
 +----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`int<class_int>`                        | :ref:`get_frame<class_SceneTree_get_frame>`  **(** **)** const                                                                                                                                                       |
 | :ref:`int<class_int>`                        | :ref:`get_frame<class_SceneTree_get_frame>`  **(** **)** const                                                                                                                                                       |
 +----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`PoolIntArray<class_poolintarray>`      | :ref:`get_network_connected_peers<class_SceneTree_get_network_connected_peers>`  **(** **)** const                                                                                                                   |
++----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`int<class_int>`                        | :ref:`get_network_unique_id<class_SceneTree_get_network_unique_id>`  **(** **)** const                                                                                                                               |
 | :ref:`int<class_int>`                        | :ref:`get_network_unique_id<class_SceneTree_get_network_unique_id>`  **(** **)** const                                                                                                                               |
 +----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`int<class_int>`                        | :ref:`get_node_count<class_SceneTree_get_node_count>`  **(** **)** const                                                                                                                                             |
 | :ref:`int<class_int>`                        | :ref:`get_node_count<class_SceneTree_get_node_count>`  **(** **)** const                                                                                                                                             |
@@ -164,6 +166,10 @@ Member Function Description
 
 
 - :ref:`int<class_int>`  **get_frame**  **(** **)** const
 - :ref:`int<class_int>`  **get_frame**  **(** **)** const
 
 
+.. _class_SceneTree_get_network_connected_peers:
+
+- :ref:`PoolIntArray<class_poolintarray>`  **get_network_connected_peers**  **(** **)** const
+
 .. _class_SceneTree_get_network_unique_id:
 .. _class_SceneTree_get_network_unique_id:
 
 
 - :ref:`int<class_int>`  **get_network_unique_id**  **(** **)** const
 - :ref:`int<class_int>`  **get_network_unique_id**  **(** **)** const

+ 52 - 0
classes/class_scripteditor.rst

@@ -0,0 +1,52 @@
+.. 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_ScriptEditor:
+
+ScriptEditor
+============
+
+**Inherits:** :ref:`PanelContainer<class_panelcontainer>` **<** :ref:`Container<class_container>` **<** :ref:`Control<class_control>` **<** :ref:`CanvasItem<class_canvasitem>` **<** :ref:`Node<class_node>` **<** :ref:`Object<class_object>`
+
+**Category:** Core
+
+Brief Description
+-----------------
+
+
+
+Member Functions
+----------------
+
++------------------------------+-------------------------------------------------------------------------------+
+| :ref:`Script<class_script>`  | :ref:`get_current_script<class_ScriptEditor_get_current_script>`  **(** **)** |
++------------------------------+-------------------------------------------------------------------------------+
+| :ref:`Array<class_array>`    | :ref:`get_open_scripts<class_ScriptEditor_get_open_scripts>`  **(** **)**     |
++------------------------------+-------------------------------------------------------------------------------+
+
+Signals
+-------
+
+-  **editor_script_changed**  **(** :ref:`Script<class_script>` script  **)**
+Emitted when user changed active script. Argument is a freshly activated :ref:`Script<class_script>`.
+
+-  **script_close**  **(** :ref:`Script<class_script>` script  **)**
+Emitted when editor is about to close the active script. Argument is a :ref:`Script<class_script>` that is going to be closed.
+
+
+Member Function Description
+---------------------------
+
+.. _class_ScriptEditor_get_current_script:
+
+- :ref:`Script<class_script>`  **get_current_script**  **(** **)**
+
+Returns a :ref:`Script<class_script>` that is currently active in editor.
+
+.. _class_ScriptEditor_get_open_scripts:
+
+- :ref:`Array<class_array>`  **get_open_scripts**  **(** **)**
+
+Returns an array with all :ref:`Script<class_script>` objects which are currently open in editor.
+
+

+ 1 - 1
classes/class_scrollcontainer.rst

@@ -45,7 +45,7 @@ Member Variables
 Description
 Description
 -----------
 -----------
 
 
-A ScrollContainer node with a :ref:`Control<class_control>` child and scrollbar child (:ref:`HScrollbar<class_hscrollbar>`, :ref:`VScrollBar<class_vscrollbar>`, or both) will only draw the Control within the ScrollContainer area.  Scrollbars will automatically be drawn at the right (for vertical) or bottom (for horizontal) and will enable dragging to move the viewable Control (and its children) within the ScrollContainer.  Scrollbars will also automatically resize the grabber based on the minimum_size of the Control relative to the ScrollContainer.  Works great with a :ref:`Panel<class_panel>` control.  You can set EXPAND on children size flags, so they will upscale to ScrollContainer size if ScrollContainer size is bigger (scroll is invisible for chosen dimension).
+A ScrollContainer node with a :ref:`Control<class_control>` child and scrollbar child (HScrollbar, :ref:`VScrollBar<class_vscrollbar>`, or both) will only draw the Control within the ScrollContainer area.  Scrollbars will automatically be drawn at the right (for vertical) or bottom (for horizontal) and will enable dragging to move the viewable Control (and its children) within the ScrollContainer.  Scrollbars will also automatically resize the grabber based on the minimum_size of the Control relative to the ScrollContainer.  Works great with a :ref:`Panel<class_panel>` control.  You can set EXPAND on children size flags, so they will upscale to ScrollContainer size if ScrollContainer size is bigger (scroll is invisible for chosen dimension).
 
 
 Member Function Description
 Member Function Description
 ---------------------------
 ---------------------------

+ 10 - 10
classes/class_shadermaterial.rst

@@ -18,15 +18,15 @@ Brief Description
 Member Functions
 Member Functions
 ----------------
 ----------------
 
 
-+------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Shader<class_shader>`  | :ref:`get_shader<class_ShaderMaterial_get_shader>`  **(** **)** const                                                                               |
-+------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                         | :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  **)** |
-+------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------+
++--------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------+
+| :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
 Member Function Description
 ---------------------------
 ---------------------------
@@ -37,7 +37,7 @@ Member Function Description
 
 
 .. _class_ShaderMaterial_get_shader_param:
 .. _class_ShaderMaterial_get_shader_param:
 
 
-- void  **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:
 .. _class_ShaderMaterial_set_shader:
 
 

+ 1 - 1
classes/class_shape.rst

@@ -8,7 +8,7 @@ Shape
 
 
 **Inherits:** :ref:`Resource<class_resource>` **<** :ref:`Reference<class_reference>` **<** :ref:`Object<class_object>`
 **Inherits:** :ref:`Resource<class_resource>` **<** :ref:`Reference<class_reference>` **<** :ref:`Object<class_object>`
 
 
-**Inherited By:** :ref:`SphereShape<class_sphereshape>`, :ref:`CapsuleShape<class_capsuleshape>`, :ref:`BoxShape<class_boxshape>`, :ref:`ConvexPolygonShape<class_convexpolygonshape>`, :ref:`PlaneShape<class_planeshape>`, :ref:`RayShape<class_rayshape>`, :ref:`ConcavePolygonShape<class_concavepolygonshape>`
+**Inherited By:** :ref:`SphereShape<class_sphereshape>`, :ref:`PlaneShape<class_planeshape>`, :ref:`CapsuleShape<class_capsuleshape>`, :ref:`BoxShape<class_boxshape>`, :ref:`ConvexPolygonShape<class_convexpolygonshape>`, :ref:`RayShape<class_rayshape>`, :ref:`ConcavePolygonShape<class_concavepolygonshape>`
 
 
 **Category:** Core
 **Category:** Core
 
 

+ 13 - 0
classes/class_slider.rst

@@ -25,6 +25,10 @@ Member Functions
 +--------------------------+----------------------------------------------------------------------------------------------------------------------+
 +--------------------------+----------------------------------------------------------------------------------------------------------------------+
 | :ref:`bool<class_bool>`  | :ref:`get_ticks_on_borders<class_Slider_get_ticks_on_borders>`  **(** **)** const                                    |
 | :ref:`bool<class_bool>`  | :ref:`get_ticks_on_borders<class_Slider_get_ticks_on_borders>`  **(** **)** const                                    |
 +--------------------------+----------------------------------------------------------------------------------------------------------------------+
 +--------------------------+----------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`  | :ref:`is_editable<class_Slider_is_editable>`  **(** **)** const                                                      |
++--------------------------+----------------------------------------------------------------------------------------------------------------------+
+| void                     | :ref:`set_editable<class_Slider_set_editable>`  **(** :ref:`bool<class_bool>` editable  **)**                        |
++--------------------------+----------------------------------------------------------------------------------------------------------------------+
 | void                     | :ref:`set_ticks<class_Slider_set_ticks>`  **(** :ref:`int<class_int>` count  **)**                                   |
 | void                     | :ref:`set_ticks<class_Slider_set_ticks>`  **(** :ref:`int<class_int>` count  **)**                                   |
 +--------------------------+----------------------------------------------------------------------------------------------------------------------+
 +--------------------------+----------------------------------------------------------------------------------------------------------------------+
 | void                     | :ref:`set_ticks_on_borders<class_Slider_set_ticks_on_borders>`  **(** :ref:`bool<class_bool>` ticks_on_border  **)** |
 | void                     | :ref:`set_ticks_on_borders<class_Slider_set_ticks_on_borders>`  **(** :ref:`bool<class_bool>` ticks_on_border  **)** |
@@ -33,6 +37,7 @@ Member Functions
 Member Variables
 Member Variables
 ----------------
 ----------------
 
 
+- :ref:`bool<class_bool>` **editable**
 - :ref:`int<class_int>` **focus_mode**
 - :ref:`int<class_int>` **focus_mode**
 - :ref:`int<class_int>` **tick_count**
 - :ref:`int<class_int>` **tick_count**
 - :ref:`bool<class_bool>` **ticks_on_borders**
 - :ref:`bool<class_bool>` **ticks_on_borders**
@@ -57,6 +62,14 @@ Return amounts of ticks to display on slider.
 
 
 Return true if ticks are visible on borders.
 Return true if ticks are visible on borders.
 
 
+.. _class_Slider_is_editable:
+
+- :ref:`bool<class_bool>`  **is_editable**  **(** **)** const
+
+.. _class_Slider_set_editable:
+
+- void  **set_editable**  **(** :ref:`bool<class_bool>` editable  **)**
+
 .. _class_Slider_set_ticks:
 .. _class_Slider_set_ticks:
 
 
 - void  **set_ticks**  **(** :ref:`int<class_int>` count  **)**
 - void  **set_ticks**  **(** :ref:`int<class_int>` count  **)**

+ 1 - 1
classes/class_spatial.rst

@@ -8,7 +8,7 @@ Spatial
 
 
 **Inherits:** :ref:`Node<class_node>` **<** :ref:`Object<class_object>`
 **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:`RemoteTransform<class_remotetransform>`, :ref:`CollisionObject<class_collisionobject>`, :ref:`WorldEnvironment<class_worldenvironment>`, :ref:`Listener<class_listener>`, :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>`
+**Inherited By:** :ref:`Joint<class_joint>`, :ref:`RayCast<class_raycast>`, :ref:`Camera<class_camera>`, :ref:`BoneAttachment<class_boneattachment>`, :ref:`CollisionShape<class_collisionshape>`, :ref:`AudioStreamPlayer3D<class_audiostreamplayer3d>`, :ref:`Path<class_path>`, :ref:`VisualInstance<class_visualinstance>`, :ref:`VehicleWheel<class_vehiclewheel>`, :ref:`Position3D<class_position3d>`, :ref:`ProximityGroup<class_proximitygroup>`, :ref:`RemoteTransform<class_remotetransform>`, :ref:`CollisionObject<class_collisionobject>`, :ref:`Listener<class_listener>`, :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>`
 
 
 **Category:** Core
 **Category:** Core
 
 

+ 101 - 27
classes/class_spatialmaterial.rst

@@ -55,6 +55,8 @@ Member Functions
 +--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`bool<class_bool>`        | :ref:`get_flag<class_SpatialMaterial_get_flag>`  **(** :ref:`int<class_int>` arg0  **)** const                                                       |
 | :ref:`bool<class_bool>`        | :ref:`get_flag<class_SpatialMaterial_get_flag>`  **(** :ref:`int<class_int>` arg0  **)** const                                                       |
 +--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`      | :ref:`get_grow<class_SpatialMaterial_get_grow>`  **(** **)** const                                                                                   |
++--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`float<class_float>`      | :ref:`get_line_width<class_SpatialMaterial_get_line_width>`  **(** **)** const                                                                       |
 | :ref:`float<class_float>`      | :ref:`get_line_width<class_SpatialMaterial_get_line_width>`  **(** **)** const                                                                       |
 +--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`float<class_float>`      | :ref:`get_metallic<class_SpatialMaterial_get_metallic>`  **(** **)** const                                                                           |
 | :ref:`float<class_float>`      | :ref:`get_metallic<class_SpatialMaterial_get_metallic>`  **(** **)** const                                                                           |
@@ -79,20 +81,28 @@ Member Functions
 +--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`float<class_float>`      | :ref:`get_specular<class_SpatialMaterial_get_specular>`  **(** **)** const                                                                           |
 | :ref:`float<class_float>`      | :ref:`get_specular<class_SpatialMaterial_get_specular>`  **(** **)** const                                                                           |
 +--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`          | :ref:`get_specular_mode<class_SpatialMaterial_get_specular_mode>`  **(** **)** const                                                                 |
++--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`float<class_float>`      | :ref:`get_subsurface_scattering_strength<class_SpatialMaterial_get_subsurface_scattering_strength>`  **(** **)** const                               |
 | :ref:`float<class_float>`      | :ref:`get_subsurface_scattering_strength<class_SpatialMaterial_get_subsurface_scattering_strength>`  **(** **)** const                               |
 +--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`Texture<class_texture>`  | :ref:`get_texture<class_SpatialMaterial_get_texture>`  **(** :ref:`Texture<class_texture>` param  **)** const                                        |
 | :ref:`Texture<class_texture>`  | :ref:`get_texture<class_SpatialMaterial_get_texture>`  **(** :ref:`Texture<class_texture>` param  **)** const                                        |
 +--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Vector2<class_vector2>`  | :ref:`get_uv1_offset<class_SpatialMaterial_get_uv1_offset>`  **(** **)** const                                                                       |
+| :ref:`Vector3<class_vector3>`  | :ref:`get_uv1_offset<class_SpatialMaterial_get_uv1_offset>`  **(** **)** const                                                                       |
++--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Vector3<class_vector3>`  | :ref:`get_uv1_scale<class_SpatialMaterial_get_uv1_scale>`  **(** **)** const                                                                         |
++--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`      | :ref:`get_uv1_triplanar_blend_sharpness<class_SpatialMaterial_get_uv1_triplanar_blend_sharpness>`  **(** **)** const                                 |
 +--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Vector2<class_vector2>`  | :ref:`get_uv1_scale<class_SpatialMaterial_get_uv1_scale>`  **(** **)** const                                                                         |
+| :ref:`Vector3<class_vector3>`  | :ref:`get_uv2_offset<class_SpatialMaterial_get_uv2_offset>`  **(** **)** const                                                                       |
 +--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Vector2<class_vector2>`  | :ref:`get_uv2_offset<class_SpatialMaterial_get_uv2_offset>`  **(** **)** const                                                                       |
+| :ref:`Vector3<class_vector3>`  | :ref:`get_uv2_scale<class_SpatialMaterial_get_uv2_scale>`  **(** **)** const                                                                         |
 +--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Vector2<class_vector2>`  | :ref:`get_uv2_scale<class_SpatialMaterial_get_uv2_scale>`  **(** **)** const                                                                         |
+| :ref:`float<class_float>`      | :ref:`get_uv2_triplanar_blend_sharpness<class_SpatialMaterial_get_uv2_triplanar_blend_sharpness>`  **(** **)** const                                 |
 +--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`bool<class_bool>`        | :ref:`is_depth_deep_parallax_enabled<class_SpatialMaterial_is_depth_deep_parallax_enabled>`  **(** **)** const                                       |
 | :ref:`bool<class_bool>`        | :ref:`is_depth_deep_parallax_enabled<class_SpatialMaterial_is_depth_deep_parallax_enabled>`  **(** **)** const                                       |
 +--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`        | :ref:`is_grow_enabled<class_SpatialMaterial_is_grow_enabled>`  **(** **)** const                                                                     |
++--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                           | :ref:`set_albedo<class_SpatialMaterial_set_albedo>`  **(** :ref:`Color<class_color>` albedo  **)**                                                   |
 | void                           | :ref:`set_albedo<class_SpatialMaterial_set_albedo>`  **(** :ref:`Color<class_color>` albedo  **)**                                                   |
 +--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                           | :ref:`set_anisotropy<class_SpatialMaterial_set_anisotropy>`  **(** :ref:`float<class_float>` anisotropy  **)**                                       |
 | void                           | :ref:`set_anisotropy<class_SpatialMaterial_set_anisotropy>`  **(** :ref:`float<class_float>` anisotropy  **)**                                       |
@@ -131,6 +141,10 @@ Member Functions
 +--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                           | :ref:`set_flag<class_SpatialMaterial_set_flag>`  **(** :ref:`int<class_int>` flag, :ref:`bool<class_bool>` enable  **)**                             |
 | void                           | :ref:`set_flag<class_SpatialMaterial_set_flag>`  **(** :ref:`int<class_int>` flag, :ref:`bool<class_bool>` enable  **)**                             |
 +--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                           | :ref:`set_grow<class_SpatialMaterial_set_grow>`  **(** :ref:`float<class_float>` amount  **)**                                                       |
++--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                           | :ref:`set_grow_enabled<class_SpatialMaterial_set_grow_enabled>`  **(** :ref:`bool<class_bool>` enable  **)**                                         |
++--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                           | :ref:`set_line_width<class_SpatialMaterial_set_line_width>`  **(** :ref:`float<class_float>` line_width  **)**                                       |
 | void                           | :ref:`set_line_width<class_SpatialMaterial_set_line_width>`  **(** :ref:`float<class_float>` line_width  **)**                                       |
 +--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                           | :ref:`set_metallic<class_SpatialMaterial_set_metallic>`  **(** :ref:`float<class_float>` metallic  **)**                                             |
 | void                           | :ref:`set_metallic<class_SpatialMaterial_set_metallic>`  **(** :ref:`float<class_float>` metallic  **)**                                             |
@@ -155,17 +169,23 @@ Member Functions
 +--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                           | :ref:`set_specular<class_SpatialMaterial_set_specular>`  **(** :ref:`float<class_float>` specular  **)**                                             |
 | void                           | :ref:`set_specular<class_SpatialMaterial_set_specular>`  **(** :ref:`float<class_float>` specular  **)**                                             |
 +--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                           | :ref:`set_specular_mode<class_SpatialMaterial_set_specular_mode>`  **(** :ref:`int<class_int>` specular_mode  **)**                                  |
++--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                           | :ref:`set_subsurface_scattering_strength<class_SpatialMaterial_set_subsurface_scattering_strength>`  **(** :ref:`float<class_float>` strength  **)** |
 | void                           | :ref:`set_subsurface_scattering_strength<class_SpatialMaterial_set_subsurface_scattering_strength>`  **(** :ref:`float<class_float>` strength  **)** |
 +--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                           | :ref:`set_texture<class_SpatialMaterial_set_texture>`  **(** :ref:`Texture<class_texture>` param, :ref:`Object<class_object>` texture  **)**         |
 | void                           | :ref:`set_texture<class_SpatialMaterial_set_texture>`  **(** :ref:`Texture<class_texture>` param, :ref:`Object<class_object>` texture  **)**         |
 +--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                           | :ref:`set_uv1_offset<class_SpatialMaterial_set_uv1_offset>`  **(** :ref:`Vector2<class_vector2>` offset  **)**                                       |
+| void                           | :ref:`set_uv1_offset<class_SpatialMaterial_set_uv1_offset>`  **(** :ref:`Vector3<class_vector3>` offset  **)**                                       |
 +--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                           | :ref:`set_uv1_scale<class_SpatialMaterial_set_uv1_scale>`  **(** :ref:`Vector2<class_vector2>` scale  **)**                                          |
+| void                           | :ref:`set_uv1_scale<class_SpatialMaterial_set_uv1_scale>`  **(** :ref:`Vector3<class_vector3>` scale  **)**                                          |
 +--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                           | :ref:`set_uv2_offset<class_SpatialMaterial_set_uv2_offset>`  **(** :ref:`Vector2<class_vector2>` offset  **)**                                       |
+| void                           | :ref:`set_uv1_triplanar_blend_sharpness<class_SpatialMaterial_set_uv1_triplanar_blend_sharpness>`  **(** :ref:`float<class_float>` sharpness  **)**  |
 +--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                           | :ref:`set_uv2_scale<class_SpatialMaterial_set_uv2_scale>`  **(** :ref:`Vector2<class_vector2>` scale  **)**                                          |
+| void                           | :ref:`set_uv2_offset<class_SpatialMaterial_set_uv2_offset>`  **(** :ref:`Vector3<class_vector3>` offset  **)**                                       |
++--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                           | :ref:`set_uv2_scale<class_SpatialMaterial_set_uv2_scale>`  **(** :ref:`Vector3<class_vector3>` scale  **)**                                          |
++--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                           | :ref:`set_uv2_triplanar_blend_sharpness<class_SpatialMaterial_set_uv2_triplanar_blend_sharpness>`  **(** :ref:`float<class_float>` sharpness  **)**  |
 +--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
 
 
 Member Variables
 Member Variables
@@ -173,12 +193,13 @@ Member Variables
 
 
 - :ref:`Color<class_color>` **albedo_color**
 - :ref:`Color<class_color>` **albedo_color**
 - :ref:`Texture<class_texture>` **albedo_texture**
 - :ref:`Texture<class_texture>` **albedo_texture**
-- :ref:`float<class_float>` **anisotropy_anisotropy**
+- :ref:`float<class_float>` **anisotropy**
 - :ref:`bool<class_bool>` **anisotropy_enabled**
 - :ref:`bool<class_bool>` **anisotropy_enabled**
 - :ref:`Texture<class_texture>` **anisotropy_flowmap**
 - :ref:`Texture<class_texture>` **anisotropy_flowmap**
 - :ref:`bool<class_bool>` **ao_enabled**
 - :ref:`bool<class_bool>` **ao_enabled**
+- :ref:`bool<class_bool>` **ao_on_uv2**
 - :ref:`Texture<class_texture>` **ao_texture**
 - :ref:`Texture<class_texture>` **ao_texture**
-- :ref:`float<class_float>` **clearcoat_amount**
+- :ref:`float<class_float>` **clearcoat**
 - :ref:`bool<class_bool>` **clearcoat_enabled**
 - :ref:`bool<class_bool>` **clearcoat_enabled**
 - :ref:`float<class_float>` **clearcoat_gloss**
 - :ref:`float<class_float>` **clearcoat_gloss**
 - :ref:`Texture<class_texture>` **clearcoat_texture**
 - :ref:`Texture<class_texture>` **clearcoat_texture**
@@ -194,7 +215,7 @@ Member Variables
 - :ref:`Texture<class_texture>` **detail_mask**
 - :ref:`Texture<class_texture>` **detail_mask**
 - :ref:`Texture<class_texture>` **detail_normal**
 - :ref:`Texture<class_texture>` **detail_normal**
 - :ref:`int<class_int>` **detail_uv_layer**
 - :ref:`int<class_int>` **detail_uv_layer**
-- :ref:`Color<class_color>` **emission_color**
+- :ref:`Color<class_color>` **emission**
 - :ref:`bool<class_bool>` **emission_enabled**
 - :ref:`bool<class_bool>` **emission_enabled**
 - :ref:`float<class_float>` **emission_energy**
 - :ref:`float<class_float>` **emission_energy**
 - :ref:`Texture<class_texture>` **emission_texture**
 - :ref:`Texture<class_texture>` **emission_texture**
@@ -203,7 +224,7 @@ Member Variables
 - :ref:`bool<class_bool>` **flags_transparent**
 - :ref:`bool<class_bool>` **flags_transparent**
 - :ref:`bool<class_bool>` **flags_unshaded**
 - :ref:`bool<class_bool>` **flags_unshaded**
 - :ref:`bool<class_bool>` **flags_use_point_size**
 - :ref:`bool<class_bool>` **flags_use_point_size**
-- :ref:`float<class_float>` **metallic_amount**
+- :ref:`float<class_float>` **metallic**
 - :ref:`float<class_float>` **metallic_specular**
 - :ref:`float<class_float>` **metallic_specular**
 - :ref:`Texture<class_texture>` **metallic_texture**
 - :ref:`Texture<class_texture>` **metallic_texture**
 - :ref:`bool<class_bool>` **normal_enabled**
 - :ref:`bool<class_bool>` **normal_enabled**
@@ -214,27 +235,34 @@ Member Variables
 - :ref:`int<class_int>` **params_cull_mode**
 - :ref:`int<class_int>` **params_cull_mode**
 - :ref:`int<class_int>` **params_depth_draw_mode**
 - :ref:`int<class_int>` **params_depth_draw_mode**
 - :ref:`int<class_int>` **params_diffuse_mode**
 - :ref:`int<class_int>` **params_diffuse_mode**
+- :ref:`bool<class_bool>` **params_grow**
+- :ref:`float<class_float>` **params_grow_amount**
 - :ref:`float<class_float>` **params_line_width**
 - :ref:`float<class_float>` **params_line_width**
 - :ref:`float<class_float>` **params_point_size**
 - :ref:`float<class_float>` **params_point_size**
+- :ref:`int<class_int>` **params_specular_mode**
 - :ref:`int<class_int>` **particles_anim_h_frames**
 - :ref:`int<class_int>` **particles_anim_h_frames**
 - :ref:`bool<class_bool>` **particles_anim_loop**
 - :ref:`bool<class_bool>` **particles_anim_loop**
 - :ref:`int<class_int>` **particles_anim_v_frames**
 - :ref:`int<class_int>` **particles_anim_v_frames**
 - :ref:`bool<class_bool>` **refraction_enabled**
 - :ref:`bool<class_bool>` **refraction_enabled**
 - :ref:`float<class_float>` **refraction_scale**
 - :ref:`float<class_float>` **refraction_scale**
 - :ref:`Texture<class_texture>` **refraction_texture**
 - :ref:`Texture<class_texture>` **refraction_texture**
-- :ref:`float<class_float>` **rim_amount**
+- :ref:`float<class_float>` **rim**
 - :ref:`bool<class_bool>` **rim_enabled**
 - :ref:`bool<class_bool>` **rim_enabled**
 - :ref:`Texture<class_texture>` **rim_texture**
 - :ref:`Texture<class_texture>` **rim_texture**
 - :ref:`float<class_float>` **rim_tint**
 - :ref:`float<class_float>` **rim_tint**
-- :ref:`float<class_float>` **roughness_amount**
+- :ref:`float<class_float>` **roughness**
 - :ref:`Texture<class_texture>` **roughness_texture**
 - :ref:`Texture<class_texture>` **roughness_texture**
 - :ref:`bool<class_bool>` **subsurf_scatter_enabled**
 - :ref:`bool<class_bool>` **subsurf_scatter_enabled**
 - :ref:`float<class_float>` **subsurf_scatter_strength**
 - :ref:`float<class_float>` **subsurf_scatter_strength**
 - :ref:`Texture<class_texture>` **subsurf_scatter_texture**
 - :ref:`Texture<class_texture>` **subsurf_scatter_texture**
-- :ref:`Vector2<class_vector2>` **uv1_offset**
-- :ref:`Vector2<class_vector2>` **uv1_scale**
-- :ref:`Vector2<class_vector2>` **uv2_offset**
-- :ref:`Vector2<class_vector2>` **uv2_scale**
+- :ref:`Vector3<class_vector3>` **uv1_offset**
+- :ref:`Vector3<class_vector3>` **uv1_scale**
+- :ref:`bool<class_bool>` **uv1_triplanar**
+- :ref:`float<class_float>` **uv1_triplanar_sharpness**
+- :ref:`Vector3<class_vector3>` **uv2_offset**
+- :ref:`Vector3<class_vector3>` **uv2_scale**
+- :ref:`bool<class_bool>` **uv2_triplanar**
+- :ref:`float<class_float>` **uv2_triplanar_sharpness**
 - :ref:`bool<class_bool>` **vertex_color_is_srgb**
 - :ref:`bool<class_bool>` **vertex_color_is_srgb**
 - :ref:`bool<class_bool>` **vertex_color_use_as_albedo**
 - :ref:`bool<class_bool>` **vertex_color_use_as_albedo**
 
 
@@ -288,11 +316,17 @@ Numeric Constants
 - **FLAG_SRGB_VERTEX_COLOR** = **3**
 - **FLAG_SRGB_VERTEX_COLOR** = **3**
 - **FLAG_USE_POINT_SIZE** = **4**
 - **FLAG_USE_POINT_SIZE** = **4**
 - **FLAG_FIXED_SIZE** = **5**
 - **FLAG_FIXED_SIZE** = **5**
-- **FLAG_MAX** = **6**
+- **FLAG_MAX** = **9**
 - **DIFFUSE_LAMBERT** = **0**
 - **DIFFUSE_LAMBERT** = **0**
 - **DIFFUSE_HALF_LAMBERT** = **1**
 - **DIFFUSE_HALF_LAMBERT** = **1**
 - **DIFFUSE_OREN_NAYAR** = **2**
 - **DIFFUSE_OREN_NAYAR** = **2**
 - **DIFFUSE_BURLEY** = **3**
 - **DIFFUSE_BURLEY** = **3**
+- **DIFFUSE_TOON** = **4**
+- **SPECULAR_SCHLICK_GGX** = **0**
+- **SPECULAR_BLINN** = **1**
+- **SPECULAR_PHONG** = **2**
+- **SPECULAR_TOON** = **3**
+- **SPECULAR_DISABLED** = **4**
 - **BILLBOARD_DISABLED** = **0**
 - **BILLBOARD_DISABLED** = **0**
 - **BILLBOARD_ENABLED** = **1**
 - **BILLBOARD_ENABLED** = **1**
 - **BILLBOARD_FIXED_Y** = **2**
 - **BILLBOARD_FIXED_Y** = **2**
@@ -373,6 +407,10 @@ Member Function Description
 
 
 - :ref:`bool<class_bool>`  **get_flag**  **(** :ref:`int<class_int>` arg0  **)** const
 - :ref:`bool<class_bool>`  **get_flag**  **(** :ref:`int<class_int>` arg0  **)** const
 
 
+.. _class_SpatialMaterial_get_grow:
+
+- :ref:`float<class_float>`  **get_grow**  **(** **)** const
+
 .. _class_SpatialMaterial_get_line_width:
 .. _class_SpatialMaterial_get_line_width:
 
 
 - :ref:`float<class_float>`  **get_line_width**  **(** **)** const
 - :ref:`float<class_float>`  **get_line_width**  **(** **)** const
@@ -421,6 +459,10 @@ Member Function Description
 
 
 - :ref:`float<class_float>`  **get_specular**  **(** **)** const
 - :ref:`float<class_float>`  **get_specular**  **(** **)** const
 
 
+.. _class_SpatialMaterial_get_specular_mode:
+
+- :ref:`int<class_int>`  **get_specular_mode**  **(** **)** const
+
 .. _class_SpatialMaterial_get_subsurface_scattering_strength:
 .. _class_SpatialMaterial_get_subsurface_scattering_strength:
 
 
 - :ref:`float<class_float>`  **get_subsurface_scattering_strength**  **(** **)** const
 - :ref:`float<class_float>`  **get_subsurface_scattering_strength**  **(** **)** const
@@ -431,24 +473,36 @@ Member Function Description
 
 
 .. _class_SpatialMaterial_get_uv1_offset:
 .. _class_SpatialMaterial_get_uv1_offset:
 
 
-- :ref:`Vector2<class_vector2>`  **get_uv1_offset**  **(** **)** const
+- :ref:`Vector3<class_vector3>`  **get_uv1_offset**  **(** **)** const
 
 
 .. _class_SpatialMaterial_get_uv1_scale:
 .. _class_SpatialMaterial_get_uv1_scale:
 
 
-- :ref:`Vector2<class_vector2>`  **get_uv1_scale**  **(** **)** const
+- :ref:`Vector3<class_vector3>`  **get_uv1_scale**  **(** **)** const
+
+.. _class_SpatialMaterial_get_uv1_triplanar_blend_sharpness:
+
+- :ref:`float<class_float>`  **get_uv1_triplanar_blend_sharpness**  **(** **)** const
 
 
 .. _class_SpatialMaterial_get_uv2_offset:
 .. _class_SpatialMaterial_get_uv2_offset:
 
 
-- :ref:`Vector2<class_vector2>`  **get_uv2_offset**  **(** **)** const
+- :ref:`Vector3<class_vector3>`  **get_uv2_offset**  **(** **)** const
 
 
 .. _class_SpatialMaterial_get_uv2_scale:
 .. _class_SpatialMaterial_get_uv2_scale:
 
 
-- :ref:`Vector2<class_vector2>`  **get_uv2_scale**  **(** **)** const
+- :ref:`Vector3<class_vector3>`  **get_uv2_scale**  **(** **)** const
+
+.. _class_SpatialMaterial_get_uv2_triplanar_blend_sharpness:
+
+- :ref:`float<class_float>`  **get_uv2_triplanar_blend_sharpness**  **(** **)** const
 
 
 .. _class_SpatialMaterial_is_depth_deep_parallax_enabled:
 .. _class_SpatialMaterial_is_depth_deep_parallax_enabled:
 
 
 - :ref:`bool<class_bool>`  **is_depth_deep_parallax_enabled**  **(** **)** const
 - :ref:`bool<class_bool>`  **is_depth_deep_parallax_enabled**  **(** **)** const
 
 
+.. _class_SpatialMaterial_is_grow_enabled:
+
+- :ref:`bool<class_bool>`  **is_grow_enabled**  **(** **)** const
+
 .. _class_SpatialMaterial_set_albedo:
 .. _class_SpatialMaterial_set_albedo:
 
 
 - void  **set_albedo**  **(** :ref:`Color<class_color>` albedo  **)**
 - void  **set_albedo**  **(** :ref:`Color<class_color>` albedo  **)**
@@ -525,6 +579,14 @@ Member Function Description
 
 
 - void  **set_flag**  **(** :ref:`int<class_int>` flag, :ref:`bool<class_bool>` enable  **)**
 - void  **set_flag**  **(** :ref:`int<class_int>` flag, :ref:`bool<class_bool>` enable  **)**
 
 
+.. _class_SpatialMaterial_set_grow:
+
+- void  **set_grow**  **(** :ref:`float<class_float>` amount  **)**
+
+.. _class_SpatialMaterial_set_grow_enabled:
+
+- void  **set_grow_enabled**  **(** :ref:`bool<class_bool>` enable  **)**
+
 .. _class_SpatialMaterial_set_line_width:
 .. _class_SpatialMaterial_set_line_width:
 
 
 - void  **set_line_width**  **(** :ref:`float<class_float>` line_width  **)**
 - void  **set_line_width**  **(** :ref:`float<class_float>` line_width  **)**
@@ -573,6 +635,10 @@ Member Function Description
 
 
 - void  **set_specular**  **(** :ref:`float<class_float>` specular  **)**
 - void  **set_specular**  **(** :ref:`float<class_float>` specular  **)**
 
 
+.. _class_SpatialMaterial_set_specular_mode:
+
+- void  **set_specular_mode**  **(** :ref:`int<class_int>` specular_mode  **)**
+
 .. _class_SpatialMaterial_set_subsurface_scattering_strength:
 .. _class_SpatialMaterial_set_subsurface_scattering_strength:
 
 
 - void  **set_subsurface_scattering_strength**  **(** :ref:`float<class_float>` strength  **)**
 - void  **set_subsurface_scattering_strength**  **(** :ref:`float<class_float>` strength  **)**
@@ -583,18 +649,26 @@ Member Function Description
 
 
 .. _class_SpatialMaterial_set_uv1_offset:
 .. _class_SpatialMaterial_set_uv1_offset:
 
 
-- void  **set_uv1_offset**  **(** :ref:`Vector2<class_vector2>` offset  **)**
+- void  **set_uv1_offset**  **(** :ref:`Vector3<class_vector3>` offset  **)**
 
 
 .. _class_SpatialMaterial_set_uv1_scale:
 .. _class_SpatialMaterial_set_uv1_scale:
 
 
-- void  **set_uv1_scale**  **(** :ref:`Vector2<class_vector2>` scale  **)**
+- void  **set_uv1_scale**  **(** :ref:`Vector3<class_vector3>` scale  **)**
+
+.. _class_SpatialMaterial_set_uv1_triplanar_blend_sharpness:
+
+- void  **set_uv1_triplanar_blend_sharpness**  **(** :ref:`float<class_float>` sharpness  **)**
 
 
 .. _class_SpatialMaterial_set_uv2_offset:
 .. _class_SpatialMaterial_set_uv2_offset:
 
 
-- void  **set_uv2_offset**  **(** :ref:`Vector2<class_vector2>` offset  **)**
+- void  **set_uv2_offset**  **(** :ref:`Vector3<class_vector3>` offset  **)**
 
 
 .. _class_SpatialMaterial_set_uv2_scale:
 .. _class_SpatialMaterial_set_uv2_scale:
 
 
-- void  **set_uv2_scale**  **(** :ref:`Vector2<class_vector2>` scale  **)**
+- void  **set_uv2_scale**  **(** :ref:`Vector3<class_vector3>` scale  **)**
+
+.. _class_SpatialMaterial_set_uv2_triplanar_blend_sharpness:
+
+- void  **set_uv2_triplanar_blend_sharpness**  **(** :ref:`float<class_float>` sharpness  **)**
 
 
 
 

+ 56 - 0
classes/class_spatialvelocitytracker.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_SpatialVelocityTracker:
+
+SpatialVelocityTracker
+======================
+
+**Inherits:** :ref:`Reference<class_reference>` **<** :ref:`Object<class_object>`
+
+**Category:** Core
+
+Brief Description
+-----------------
+
+
+
+Member Functions
+----------------
+
++--------------------------------+-----------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Vector3<class_vector3>`  | :ref:`get_tracked_linear_velocity<class_SpatialVelocityTracker_get_tracked_linear_velocity>`  **(** **)** const             |
++--------------------------------+-----------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`        | :ref:`is_tracking_fixed_step<class_SpatialVelocityTracker_is_tracking_fixed_step>`  **(** **)** const                       |
++--------------------------------+-----------------------------------------------------------------------------------------------------------------------------+
+| void                           | :ref:`reset<class_SpatialVelocityTracker_reset>`  **(** :ref:`Vector3<class_vector3>` position  **)**                       |
++--------------------------------+-----------------------------------------------------------------------------------------------------------------------------+
+| void                           | :ref:`set_track_fixed_step<class_SpatialVelocityTracker_set_track_fixed_step>`  **(** :ref:`bool<class_bool>` enable  **)** |
++--------------------------------+-----------------------------------------------------------------------------------------------------------------------------+
+| void                           | :ref:`update_position<class_SpatialVelocityTracker_update_position>`  **(** :ref:`Vector3<class_vector3>` position  **)**   |
++--------------------------------+-----------------------------------------------------------------------------------------------------------------------------+
+
+Member Function Description
+---------------------------
+
+.. _class_SpatialVelocityTracker_get_tracked_linear_velocity:
+
+- :ref:`Vector3<class_vector3>`  **get_tracked_linear_velocity**  **(** **)** const
+
+.. _class_SpatialVelocityTracker_is_tracking_fixed_step:
+
+- :ref:`bool<class_bool>`  **is_tracking_fixed_step**  **(** **)** const
+
+.. _class_SpatialVelocityTracker_reset:
+
+- void  **reset**  **(** :ref:`Vector3<class_vector3>` position  **)**
+
+.. _class_SpatialVelocityTracker_set_track_fixed_step:
+
+- void  **set_track_fixed_step**  **(** :ref:`bool<class_bool>` enable  **)**
+
+.. _class_SpatialVelocityTracker_update_position:
+
+- void  **update_position**  **(** :ref:`Vector3<class_vector3>` position  **)**
+
+

+ 2 - 2
classes/class_splitcontainer.rst

@@ -67,7 +67,7 @@ Member Function Description
 
 
 - :ref:`int<class_int>`  **get_dragger_visibility**  **(** **)** const
 - :ref:`int<class_int>`  **get_dragger_visibility**  **(** **)** const
 
 
-Return visibility of the split dragger (one of :ref:`DRAGGER_VISIBLE<class_dragger_visible>`, :ref:`DRAGGER_HIDDEN<class_dragger_hidden>` or :ref:`DRAGGER_HIDDEN_COLLAPSED<class_dragger_hidden_collapsed>`).
+Return visibility of the split dragger (one of DRAGGER_VISIBLE, DRAGGER_HIDDEN or DRAGGER_HIDDEN_COLLAPSED).
 
 
 .. _class_SplitContainer_get_split_offset:
 .. _class_SplitContainer_get_split_offset:
 
 
@@ -91,7 +91,7 @@ Set if the split must be collapsed.
 
 
 - void  **set_dragger_visibility**  **(** :ref:`int<class_int>` mode  **)**
 - void  **set_dragger_visibility**  **(** :ref:`int<class_int>` mode  **)**
 
 
-Set visibility of the split dragger (*mode* must be one of :ref:`DRAGGER_VISIBLE<class_dragger_visible>`, :ref:`DRAGGER_HIDDEN<class_dragger_hidden>` or :ref:`DRAGGER_HIDDEN_COLLAPSED<class_dragger_hidden_collapsed>`).
+Set visibility of the split dragger (*mode* must be one of DRAGGER_VISIBLE, DRAGGER_HIDDEN or DRAGGER_HIDDEN_COLLAPSED).
 
 
 .. _class_SplitContainer_set_split_offset:
 .. _class_SplitContainer_set_split_offset:
 
 

+ 68 - 42
classes/class_sprite.rst

@@ -18,47 +18,55 @@ General purpose Sprite node.
 Member Functions
 Member Functions
 ----------------
 ----------------
 
 
-+--------------------------------+---------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`          | :ref:`get_frame<class_Sprite_get_frame>`  **(** **)** const                                       |
-+--------------------------------+---------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`          | :ref:`get_hframes<class_Sprite_get_hframes>`  **(** **)** const                                   |
-+--------------------------------+---------------------------------------------------------------------------------------------------+
-| :ref:`Vector2<class_vector2>`  | :ref:`get_offset<class_Sprite_get_offset>`  **(** **)** const                                     |
-+--------------------------------+---------------------------------------------------------------------------------------------------+
-| :ref:`Rect2<class_rect2>`      | :ref:`get_region_rect<class_Sprite_get_region_rect>`  **(** **)** const                           |
-+--------------------------------+---------------------------------------------------------------------------------------------------+
-| :ref:`Texture<class_texture>`  | :ref:`get_texture<class_Sprite_get_texture>`  **(** **)** const                                   |
-+--------------------------------+---------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`          | :ref:`get_vframes<class_Sprite_get_vframes>`  **(** **)** const                                   |
-+--------------------------------+---------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`        | :ref:`is_centered<class_Sprite_is_centered>`  **(** **)** const                                   |
-+--------------------------------+---------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`        | :ref:`is_flipped_h<class_Sprite_is_flipped_h>`  **(** **)** const                                 |
-+--------------------------------+---------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`        | :ref:`is_flipped_v<class_Sprite_is_flipped_v>`  **(** **)** const                                 |
-+--------------------------------+---------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`        | :ref:`is_region<class_Sprite_is_region>`  **(** **)** const                                       |
-+--------------------------------+---------------------------------------------------------------------------------------------------+
-| void                           | :ref:`set_centered<class_Sprite_set_centered>`  **(** :ref:`bool<class_bool>` centered  **)**     |
-+--------------------------------+---------------------------------------------------------------------------------------------------+
-| void                           | :ref:`set_flip_h<class_Sprite_set_flip_h>`  **(** :ref:`bool<class_bool>` flip_h  **)**           |
-+--------------------------------+---------------------------------------------------------------------------------------------------+
-| void                           | :ref:`set_flip_v<class_Sprite_set_flip_v>`  **(** :ref:`bool<class_bool>` flip_v  **)**           |
-+--------------------------------+---------------------------------------------------------------------------------------------------+
-| void                           | :ref:`set_frame<class_Sprite_set_frame>`  **(** :ref:`int<class_int>` frame  **)**                |
-+--------------------------------+---------------------------------------------------------------------------------------------------+
-| void                           | :ref:`set_hframes<class_Sprite_set_hframes>`  **(** :ref:`int<class_int>` hframes  **)**          |
-+--------------------------------+---------------------------------------------------------------------------------------------------+
-| void                           | :ref:`set_offset<class_Sprite_set_offset>`  **(** :ref:`Vector2<class_vector2>` offset  **)**     |
-+--------------------------------+---------------------------------------------------------------------------------------------------+
-| void                           | :ref:`set_region<class_Sprite_set_region>`  **(** :ref:`bool<class_bool>` enabled  **)**          |
-+--------------------------------+---------------------------------------------------------------------------------------------------+
-| void                           | :ref:`set_region_rect<class_Sprite_set_region_rect>`  **(** :ref:`Rect2<class_rect2>` rect  **)** |
-+--------------------------------+---------------------------------------------------------------------------------------------------+
-| void                           | :ref:`set_texture<class_Sprite_set_texture>`  **(** :ref:`Texture<class_texture>` texture  **)**  |
-+--------------------------------+---------------------------------------------------------------------------------------------------+
-| void                           | :ref:`set_vframes<class_Sprite_set_vframes>`  **(** :ref:`int<class_int>` vframes  **)**          |
-+--------------------------------+---------------------------------------------------------------------------------------------------+
++--------------------------------+------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`          | :ref:`get_frame<class_Sprite_get_frame>`  **(** **)** const                                                      |
++--------------------------------+------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`          | :ref:`get_hframes<class_Sprite_get_hframes>`  **(** **)** const                                                  |
++--------------------------------+------------------------------------------------------------------------------------------------------------------+
+| :ref:`Texture<class_texture>`  | :ref:`get_normal_map<class_Sprite_get_normal_map>`  **(** **)** const                                            |
++--------------------------------+------------------------------------------------------------------------------------------------------------------+
+| :ref:`Vector2<class_vector2>`  | :ref:`get_offset<class_Sprite_get_offset>`  **(** **)** const                                                    |
++--------------------------------+------------------------------------------------------------------------------------------------------------------+
+| :ref:`Rect2<class_rect2>`      | :ref:`get_region_rect<class_Sprite_get_region_rect>`  **(** **)** const                                          |
++--------------------------------+------------------------------------------------------------------------------------------------------------------+
+| :ref:`Texture<class_texture>`  | :ref:`get_texture<class_Sprite_get_texture>`  **(** **)** const                                                  |
++--------------------------------+------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`          | :ref:`get_vframes<class_Sprite_get_vframes>`  **(** **)** const                                                  |
++--------------------------------+------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`        | :ref:`is_centered<class_Sprite_is_centered>`  **(** **)** const                                                  |
++--------------------------------+------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`        | :ref:`is_flipped_h<class_Sprite_is_flipped_h>`  **(** **)** const                                                |
++--------------------------------+------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`        | :ref:`is_flipped_v<class_Sprite_is_flipped_v>`  **(** **)** const                                                |
++--------------------------------+------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`        | :ref:`is_region<class_Sprite_is_region>`  **(** **)** const                                                      |
++--------------------------------+------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`        | :ref:`is_region_filter_clip_enabled<class_Sprite_is_region_filter_clip_enabled>`  **(** **)** const              |
++--------------------------------+------------------------------------------------------------------------------------------------------------------+
+| void                           | :ref:`set_centered<class_Sprite_set_centered>`  **(** :ref:`bool<class_bool>` centered  **)**                    |
++--------------------------------+------------------------------------------------------------------------------------------------------------------+
+| void                           | :ref:`set_flip_h<class_Sprite_set_flip_h>`  **(** :ref:`bool<class_bool>` flip_h  **)**                          |
++--------------------------------+------------------------------------------------------------------------------------------------------------------+
+| void                           | :ref:`set_flip_v<class_Sprite_set_flip_v>`  **(** :ref:`bool<class_bool>` flip_v  **)**                          |
++--------------------------------+------------------------------------------------------------------------------------------------------------------+
+| void                           | :ref:`set_frame<class_Sprite_set_frame>`  **(** :ref:`int<class_int>` frame  **)**                               |
++--------------------------------+------------------------------------------------------------------------------------------------------------------+
+| void                           | :ref:`set_hframes<class_Sprite_set_hframes>`  **(** :ref:`int<class_int>` hframes  **)**                         |
++--------------------------------+------------------------------------------------------------------------------------------------------------------+
+| void                           | :ref:`set_normal_map<class_Sprite_set_normal_map>`  **(** :ref:`Texture<class_texture>` normal_map  **)**        |
++--------------------------------+------------------------------------------------------------------------------------------------------------------+
+| void                           | :ref:`set_offset<class_Sprite_set_offset>`  **(** :ref:`Vector2<class_vector2>` offset  **)**                    |
++--------------------------------+------------------------------------------------------------------------------------------------------------------+
+| void                           | :ref:`set_region<class_Sprite_set_region>`  **(** :ref:`bool<class_bool>` enabled  **)**                         |
++--------------------------------+------------------------------------------------------------------------------------------------------------------+
+| void                           | :ref:`set_region_filter_clip<class_Sprite_set_region_filter_clip>`  **(** :ref:`bool<class_bool>` enabled  **)** |
++--------------------------------+------------------------------------------------------------------------------------------------------------------+
+| void                           | :ref:`set_region_rect<class_Sprite_set_region_rect>`  **(** :ref:`Rect2<class_rect2>` rect  **)**                |
++--------------------------------+------------------------------------------------------------------------------------------------------------------+
+| void                           | :ref:`set_texture<class_Sprite_set_texture>`  **(** :ref:`Texture<class_texture>` texture  **)**                 |
++--------------------------------+------------------------------------------------------------------------------------------------------------------+
+| void                           | :ref:`set_vframes<class_Sprite_set_vframes>`  **(** :ref:`int<class_int>` vframes  **)**                         |
++--------------------------------+------------------------------------------------------------------------------------------------------------------+
 
 
 Signals
 Signals
 -------
 -------
@@ -74,8 +82,10 @@ Member Variables
 - :ref:`bool<class_bool>` **flip_v**
 - :ref:`bool<class_bool>` **flip_v**
 - :ref:`int<class_int>` **frame**
 - :ref:`int<class_int>` **frame**
 - :ref:`int<class_int>` **hframes**
 - :ref:`int<class_int>` **hframes**
+- :ref:`Texture<class_texture>` **normal_map**
 - :ref:`Vector2<class_vector2>` **offset**
 - :ref:`Vector2<class_vector2>` **offset**
-- :ref:`bool<class_bool>` **region**
+- :ref:`bool<class_bool>` **region_enabled**
+- :ref:`bool<class_bool>` **region_filter_clip**
 - :ref:`Rect2<class_rect2>` **region_rect**
 - :ref:`Rect2<class_rect2>` **region_rect**
 - :ref:`Texture<class_texture>` **texture**
 - :ref:`Texture<class_texture>` **texture**
 - :ref:`int<class_int>` **vframes**
 - :ref:`int<class_int>` **vframes**
@@ -100,6 +110,10 @@ Return the texture frame for a sprite-sheet, works when vframes or hframes are g
 
 
 Return the amount of horizontal frames. See :ref:`set_hframes<class_Sprite_set_hframes>`.
 Return the amount of horizontal frames. See :ref:`set_hframes<class_Sprite_set_hframes>`.
 
 
+.. _class_Sprite_get_normal_map:
+
+- :ref:`Texture<class_texture>`  **get_normal_map**  **(** **)** const
+
 .. _class_Sprite_get_offset:
 .. _class_Sprite_get_offset:
 
 
 - :ref:`Vector2<class_vector2>`  **get_offset**  **(** **)** const
 - :ref:`Vector2<class_vector2>`  **get_offset**  **(** **)** const
@@ -148,6 +162,10 @@ Return true if the sprite is flipped vertically.
 
 
 Return if the sprite reads from a region.
 Return if the sprite reads from a region.
 
 
+.. _class_Sprite_is_region_filter_clip_enabled:
+
+- :ref:`bool<class_bool>`  **is_region_filter_clip_enabled**  **(** **)** const
+
 .. _class_Sprite_set_centered:
 .. _class_Sprite_set_centered:
 
 
 - void  **set_centered**  **(** :ref:`bool<class_bool>` centered  **)**
 - void  **set_centered**  **(** :ref:`bool<class_bool>` centered  **)**
@@ -178,6 +196,10 @@ Set the texture frame for a sprite-sheet, works when vframes or hframes are grea
 
 
 Set the amount of horizontal frames and converts the sprite into a sprite-sheet. This is useful for animation.
 Set the amount of horizontal frames and converts the sprite into a sprite-sheet. This is useful for animation.
 
 
+.. _class_Sprite_set_normal_map:
+
+- void  **set_normal_map**  **(** :ref:`Texture<class_texture>` normal_map  **)**
+
 .. _class_Sprite_set_offset:
 .. _class_Sprite_set_offset:
 
 
 - void  **set_offset**  **(** :ref:`Vector2<class_vector2>` offset  **)**
 - void  **set_offset**  **(** :ref:`Vector2<class_vector2>` offset  **)**
@@ -190,6 +212,10 @@ Set the sprite draw offset, useful for setting rotation pivots.
 
 
 Set the sprite as a sub-region of a bigger texture. Useful for texture-atlases.
 Set the sprite as a sub-region of a bigger texture. Useful for texture-atlases.
 
 
+.. _class_Sprite_set_region_filter_clip:
+
+- void  **set_region_filter_clip**  **(** :ref:`bool<class_bool>` enabled  **)**
+
 .. _class_Sprite_set_region_rect:
 .. _class_Sprite_set_region_rect:
 
 
 - void  **set_region_rect**  **(** :ref:`Rect2<class_rect2>` rect  **)**
 - void  **set_region_rect**  **(** :ref:`Rect2<class_rect2>` rect  **)**

+ 1 - 1
classes/class_sprite3d.rst

@@ -54,7 +54,7 @@ Member Variables
 
 
 - :ref:`int<class_int>` **frame**
 - :ref:`int<class_int>` **frame**
 - :ref:`int<class_int>` **hframes**
 - :ref:`int<class_int>` **hframes**
-- :ref:`bool<class_bool>` **region**
+- :ref:`bool<class_bool>` **region_enabled**
 - :ref:`Rect2<class_rect2>` **region_rect**
 - :ref:`Rect2<class_rect2>` **region_rect**
 - :ref:`Texture<class_texture>` **texture**
 - :ref:`Texture<class_texture>` **texture**
 - :ref:`int<class_int>` **vframes**
 - :ref:`int<class_int>` **vframes**

+ 3 - 1
classes/class_spritebase3d.rst

@@ -70,6 +70,7 @@ Member Variables
 - :ref:`int<class_int>` **alpha_cut**
 - :ref:`int<class_int>` **alpha_cut**
 - :ref:`int<class_int>` **axis**
 - :ref:`int<class_int>` **axis**
 - :ref:`bool<class_bool>` **centered**
 - :ref:`bool<class_bool>` **centered**
+- :ref:`bool<class_bool>` **double_sided**
 - :ref:`bool<class_bool>` **flip_h**
 - :ref:`bool<class_bool>` **flip_h**
 - :ref:`bool<class_bool>` **flip_v**
 - :ref:`bool<class_bool>` **flip_v**
 - :ref:`Color<class_color>` **modulate**
 - :ref:`Color<class_color>` **modulate**
@@ -84,7 +85,8 @@ Numeric Constants
 
 
 - **FLAG_TRANSPARENT** = **0**
 - **FLAG_TRANSPARENT** = **0**
 - **FLAG_SHADED** = **1**
 - **FLAG_SHADED** = **1**
-- **FLAG_MAX** = **2**
+- **FLAG_DOUBLE_SIDED** = **2**
+- **FLAG_MAX** = **3**
 - **ALPHA_CUT_DISABLED** = **0**
 - **ALPHA_CUT_DISABLED** = **0**
 - **ALPHA_CUT_DISCARD** = **1**
 - **ALPHA_CUT_DISCARD** = **1**
 - **ALPHA_CUT_OPAQUE_PREPASS** = **2**
 - **ALPHA_CUT_OPAQUE_PREPASS** = **2**

部分文件因文件數量過多而無法顯示