Explorar o código

Sync classref with current source

Rémi Verschelde %!s(int64=6) %!d(string=hai) anos
pai
achega
d202722bac
Modificáronse 58 ficheiros con 930 adicións e 284 borrados
  1. 22 6
      classes/[email protected]
  2. 9 9
      classes/class_animatedsprite.rst
  3. 2 2
      classes/class_animationnodeblendspace2d.rst
  4. 12 2
      classes/class_animationnodestatemachine.rst
  5. 2 0
      classes/class_animationnodestatemachineplayback.rst
  6. 15 3
      classes/class_animationnodestatemachinetransition.rst
  7. 7 0
      classes/class_animationtree.rst
  8. 1 1
      classes/class_array.rst
  9. 16 0
      classes/class_astar.rst
  10. 1 1
      classes/class_audioeffect.rst
  11. 20 0
      classes/class_audioeffectinstance.rst
  12. 93 0
      classes/class_audioeffectspectrumanalyzer.rst
  13. 47 0
      classes/class_audioeffectspectrumanalyzerinstance.rst
  14. 87 81
      classes/class_audioserver.rst
  15. 1 1
      classes/class_audiostream.rst
  16. 50 0
      classes/class_audiostreamgenerator.rst
  17. 62 0
      classes/class_audiostreamgeneratorplayback.rst
  18. 2 0
      classes/class_audiostreamplayback.rst
  19. 20 0
      classes/class_audiostreamplaybackresampled.rst
  20. 15 9
      classes/class_audiostreamplayer.rst
  21. 15 9
      classes/class_audiostreamplayer2d.rst
  22. 15 9
      classes/class_audiostreamplayer3d.rst
  23. 12 0
      classes/class_basis.rst
  24. 1 1
      classes/class_camera.rst
  25. 4 4
      classes/class_collisionobject2d.rst
  26. 1 1
      classes/class_dictionary.rst
  27. 6 0
      classes/class_editorinterface.rst
  28. 24 6
      classes/class_file.rst
  29. 73 0
      classes/class_heightmapshape.rst
  30. 8 0
      classes/class_line2d.rst
  31. 19 17
      classes/class_marshalls.rst
  32. 23 1
      classes/class_mobilevrinterface.rst
  33. 23 11
      classes/class_multimesh.rst
  34. 16 0
      classes/class_multiplayerapi.rst
  35. 6 0
      classes/class_node.rst
  36. 25 17
      classes/class_packetpeer.rst
  37. 2 0
      classes/class_path2d.rst
  38. 1 1
      classes/class_physicsserver.rst
  39. 30 15
      classes/class_randomnumbergenerator.rst
  40. 0 0
      classes/class_reference.rst
  41. 1 1
      classes/class_regex.rst
  42. 3 1
      classes/class_rigidbody2d.rst
  43. 2 0
      classes/class_scenetree.rst
  44. 1 1
      classes/class_shape.rst
  45. 8 0
      classes/class_slider.rst
  46. 69 67
      classes/class_streampeer.rst
  47. 3 1
      classes/class_textedit.rst
  48. 2 2
      classes/class_transform.rst
  49. 6 0
      classes/class_tween.rst
  50. 9 1
      classes/class_vector2.rst
  51. 8 0
      classes/class_vector3.rst
  52. 2 0
      classes/class_visibilitynotifier.rst
  53. 2 0
      classes/class_visibilitynotifier2d.rst
  54. 12 0
      classes/class_visualinstance.rst
  55. 10 1
      classes/class_visualscriptbuiltinfunc.rst
  56. 1 1
      classes/class_vslider.rst
  57. 1 1
      classes/class_vsplitcontainer.rst
  58. 2 0
      classes/class_ysort.rst

+ 22 - 6
classes/[email protected]

@@ -34,7 +34,7 @@ Methods
 +-----------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`float<class_float>`                                 | :ref:`atan2<class_@GDScript_method_atan2>` **(** :ref:`float<class_float>` y, :ref:`float<class_float>` x **)**                                                                                                                        |
 +-----------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Variant<class_Variant>`                             | :ref:`bytes2var<class_@GDScript_method_bytes2var>` **(** :ref:`PoolByteArray<class_PoolByteArray>` bytes **)**                                                                                                                         |
+| :ref:`Variant<class_Variant>`                             | :ref:`bytes2var<class_@GDScript_method_bytes2var>` **(** :ref:`PoolByteArray<class_PoolByteArray>` bytes, :ref:`bool<class_bool>` allow_objects=false **)**                                                                            |
 +-----------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`Vector2<class_Vector2>`                             | :ref:`cartesian2polar<class_@GDScript_method_cartesian2polar>` **(** :ref:`float<class_float>` x, :ref:`float<class_float>` y **)**                                                                                                    |
 +-----------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
@@ -156,6 +156,8 @@ Methods
 +-----------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`float<class_float>`                                 | :ref:`sinh<class_@GDScript_method_sinh>` **(** :ref:`float<class_float>` s **)**                                                                                                                                                       |
 +-----------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`                                 | :ref:`smoothstep<class_@GDScript_method_smoothstep>` **(** :ref:`float<class_float>` from, :ref:`float<class_float>` to, :ref:`float<class_float>` weight **)**                                                                        |
++-----------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`float<class_float>`                                 | :ref:`sqrt<class_@GDScript_method_sqrt>` **(** :ref:`float<class_float>` s **)**                                                                                                                                                       |
 +-----------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`float<class_float>`                                 | :ref:`stepify<class_@GDScript_method_stepify>` **(** :ref:`float<class_float>` s, :ref:`float<class_float>` step **)**                                                                                                                 |
@@ -176,7 +178,7 @@ Methods
 +-----------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`String<class_String>`                               | :ref:`validate_json<class_@GDScript_method_validate_json>` **(** :ref:`String<class_String>` json **)**                                                                                                                                |
 +-----------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`PoolByteArray<class_PoolByteArray>`                 | :ref:`var2bytes<class_@GDScript_method_var2bytes>` **(** :ref:`Variant<class_Variant>` var **)**                                                                                                                                       |
+| :ref:`PoolByteArray<class_PoolByteArray>`                 | :ref:`var2bytes<class_@GDScript_method_var2bytes>` **(** :ref:`Variant<class_Variant>` var, :ref:`bool<class_bool>` full_objects=false **)**                                                                                           |
 +-----------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`String<class_String>`                               | :ref:`var2str<class_@GDScript_method_var2str>` **(** :ref:`Variant<class_Variant>` var **)**                                                                                                                                           |
 +-----------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
@@ -321,9 +323,11 @@ Returns the arc tangent of ``y/x`` in radians. Use to get the angle of tangent `
 
 .. _class_@GDScript_method_bytes2var:
 
-- :ref:`Variant<class_Variant>` **bytes2var** **(** :ref:`PoolByteArray<class_PoolByteArray>` bytes **)**
+- :ref:`Variant<class_Variant>` **bytes2var** **(** :ref:`PoolByteArray<class_PoolByteArray>` bytes, :ref:`bool<class_bool>` allow_objects=false **)**
+
+Decodes a byte array back to a value. When ``allow_objects`` is ``true`` decoding objects is allowed.
 
-Decodes a byte array back to a value.
+**WARNING:** Deserialized object can contain code which gets executed. Do not use this option if the serialized object comes from untrusted sources to avoid potential security threats (remote code execution).
 
 .. _class_@GDScript_method_cartesian2polar:
 
@@ -1022,6 +1026,18 @@ Returns the hyperbolic sine of ``s``.
     a = log(2.0) # returns 0.693147
     sinh(a) # returns 0.75
 
+.. _class_@GDScript_method_smoothstep:
+
+- :ref:`float<class_float>` **smoothstep** **(** :ref:`float<class_float>` from, :ref:`float<class_float>` to, :ref:`float<class_float>` weight **)**
+
+Returns a number smoothly interpolated between the ``from`` and ``to``, based on the ``weight``. Similar to :ref:`lerp<class_@GDScript_method_lerp>`, but interpolates faster at the beginning and slower at the end.
+
+::
+
+    smooth_step(0, 2, 0.5) # returns 0.15
+    smooth_step(0, 2, 1.0) # returns 0.5
+    smooth_step(0, 2, 2.0) # returns 1.0
+
 .. _class_@GDScript_method_sqrt:
 
 - :ref:`float<class_float>` **sqrt** **(** :ref:`float<class_float>` s **)**
@@ -1138,9 +1154,9 @@ Checks that ``json`` is valid JSON data. Returns empty string if valid. Returns
 
 .. _class_@GDScript_method_var2bytes:
 
-- :ref:`PoolByteArray<class_PoolByteArray>` **var2bytes** **(** :ref:`Variant<class_Variant>` var **)**
+- :ref:`PoolByteArray<class_PoolByteArray>` **var2bytes** **(** :ref:`Variant<class_Variant>` var, :ref:`bool<class_bool>` full_objects=false **)**
 
-Encodes a variable value to a byte array.
+Encodes a variable value to a byte array. When ``full_objects`` is ``true`` encoding objects is allowed (and can potentially include code).
 
 .. _class_@GDScript_method_var2str:
 

+ 9 - 9
classes/class_animatedsprite.rst

@@ -42,13 +42,13 @@ Properties
 Methods
 -------
 
-+-------------------------+-----------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>` | :ref:`is_playing<class_AnimatedSprite_method_is_playing>` **(** **)** const                   |
-+-------------------------+-----------------------------------------------------------------------------------------------+
-| void                    | :ref:`play<class_AnimatedSprite_method_play>` **(** :ref:`String<class_String>` anim="" **)** |
-+-------------------------+-----------------------------------------------------------------------------------------------+
-| void                    | :ref:`stop<class_AnimatedSprite_method_stop>` **(** **)**                                     |
-+-------------------------+-----------------------------------------------------------------------------------------------+
++-------------------------+----------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>` | :ref:`is_playing<class_AnimatedSprite_method_is_playing>` **(** **)** const                                                            |
++-------------------------+----------------------------------------------------------------------------------------------------------------------------------------+
+| void                    | :ref:`play<class_AnimatedSprite_method_play>` **(** :ref:`String<class_String>` anim="", :ref:`bool<class_bool>` backwards=false **)** |
++-------------------------+----------------------------------------------------------------------------------------------------------------------------------------+
+| void                    | :ref:`stop<class_AnimatedSprite_method_stop>` **(** **)**                                                                              |
++-------------------------+----------------------------------------------------------------------------------------------------------------------------------------+
 
 Signals
 -------
@@ -184,9 +184,9 @@ Return true if an animation if currently being played.
 
 .. _class_AnimatedSprite_method_play:
 
-- void **play** **(** :ref:`String<class_String>` anim="" **)**
+- void **play** **(** :ref:`String<class_String>` anim="", :ref:`bool<class_bool>` backwards=false **)**
 
-Play the animation set in parameter. If no parameter is provided, the current animation is played.
+Play the animation set in parameter. If no parameter is provided, the current animation is played. Property ``backwards`` plays the animation in reverse if set to ``true``.
 
 .. _class_AnimatedSprite_method_stop:
 

+ 2 - 2
classes/class_animationnodeblendspace2d.rst

@@ -84,9 +84,9 @@ enum **BlendMode**:
 
 - **BLEND_MODE_INTERPOLATED** = **0**
 
-- **BLEND_MODE_DISCRETE** = **1**
+- **BLEND_MODE_DISCRETE** = **1** --- Useful for frame-by-frame 2D animations.
 
-- **BLEND_MODE_DISCRETE_CARRY** = **2**
+- **BLEND_MODE_DISCRETE_CARRY** = **2** --- Keep the current play position when switching between discrete animations.
 
 Property Descriptions
 ---------------------

+ 12 - 2
classes/class_animationnodestatemachine.rst

@@ -58,13 +58,23 @@ Methods
 +---------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                                                                  | :ref:`set_end_node<class_AnimationNodeStateMachine_method_set_end_node>` **(** :ref:`String<class_String>` name **)**                                                                                                                                       |
 +---------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                                                                  | :ref:`set_graph_offset<class_AnimationNodeStateMachine_method_set_graph_offset>` **(** :ref:`Vector2<class_Vector2>` name **)**                                                                                                                             |
+| void                                                                                  | :ref:`set_graph_offset<class_AnimationNodeStateMachine_method_set_graph_offset>` **(** :ref:`Vector2<class_Vector2>` offset **)**                                                                                                                           |
 +---------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                                                                  | :ref:`set_node_position<class_AnimationNodeStateMachine_method_set_node_position>` **(** :ref:`String<class_String>` name, :ref:`Vector2<class_Vector2>` position **)**                                                                                     |
 +---------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                                                                  | :ref:`set_start_node<class_AnimationNodeStateMachine_method_set_start_node>` **(** :ref:`String<class_String>` name **)**                                                                                                                                   |
 +---------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 
+Description
+-----------
+
+Contains multiple root nodes as children in a graph. Each node is used as a state, and provides multiple functions to alternate between states. Retrieve the AnimationNodeStateMachinePlayback object from the :ref:`AnimationTree<class_AnimationTree>` node to control it programatically.
+
+::
+
+    var state_machine = anim_tree["parameters/StateMachine/playback"]
+    state_machine.travel("SomeState")
+
 Method Descriptions
 -------------------
 
@@ -146,7 +156,7 @@ Method Descriptions
 
 .. _class_AnimationNodeStateMachine_method_set_graph_offset:
 
-- void **set_graph_offset** **(** :ref:`Vector2<class_Vector2>` name **)**
+- void **set_graph_offset** **(** :ref:`Vector2<class_Vector2>` offset **)**
 
 .. _class_AnimationNodeStateMachine_method_set_node_position:
 

+ 2 - 0
classes/class_animationnodestatemachineplayback.rst

@@ -60,3 +60,5 @@ Method Descriptions
 
 - void **travel** **(** :ref:`String<class_String>` to_node **)**
 
+Transition from the current state to another one, while visiting all the intermediate ones. This is done via the A\* algorithm.
+

+ 15 - 3
classes/class_animationnodestatemachinetransition.rst

@@ -53,11 +53,11 @@ Enumerations
 
 enum **SwitchMode**:
 
-- **SWITCH_MODE_IMMEDIATE** = **0**
+- **SWITCH_MODE_IMMEDIATE** = **0** --- Switch to the next state immediately. The current state will end and blend into the beginning of the new one.
 
-- **SWITCH_MODE_SYNC** = **1**
+- **SWITCH_MODE_SYNC** = **1** --- Switch to the next state immediately, but will seek the new state to the playback position of the old state.
 
-- **SWITCH_MODE_AT_END** = **2**
+- **SWITCH_MODE_AT_END** = **2** --- Wait for the current state playback to end, then switch to the beginning of the next state animation.
 
 Property Descriptions
 ---------------------
@@ -72,6 +72,8 @@ Property Descriptions
 | *Getter* | get_advance_condition()      |
 +----------+------------------------------+
 
+Turn on auto advance when this condition is set. This is a custom text field that can be filled with a variable name. The variable can be modified from code.
+
 .. _class_AnimationNodeStateMachineTransition_property_auto_advance:
 
 - :ref:`bool<class_bool>` **auto_advance**
@@ -82,6 +84,8 @@ Property Descriptions
 | *Getter* | has_auto_advance()      |
 +----------+-------------------------+
 
+Turn on the transition automatically when this state is reached. This works best with ``SWITCH_MODE_AT_END``.
+
 .. _class_AnimationNodeStateMachineTransition_property_disabled:
 
 - :ref:`bool<class_bool>` **disabled**
@@ -92,6 +96,8 @@ Property Descriptions
 | *Getter* | is_disabled()       |
 +----------+---------------------+
 
+Don't use this transition during :ref:`AnimationNodeStateMachinePlayback.travel<class_AnimationNodeStateMachinePlayback_method_travel>` or :ref:`auto_advance<class_AnimationNodeStateMachineTransition_property_auto_advance>`.
+
 .. _class_AnimationNodeStateMachineTransition_property_priority:
 
 - :ref:`int<class_int>` **priority**
@@ -102,6 +108,8 @@ Property Descriptions
 | *Getter* | get_priority()      |
 +----------+---------------------+
 
+Lower priority transitions are preferred when travelling through the tree via :ref:`AnimationNodeStateMachinePlayback.travel<class_AnimationNodeStateMachinePlayback_method_travel>` or :ref:`auto_advance<class_AnimationNodeStateMachineTransition_property_auto_advance>`.
+
 .. _class_AnimationNodeStateMachineTransition_property_switch_mode:
 
 - :ref:`SwitchMode<enum_AnimationNodeStateMachineTransition_SwitchMode>` **switch_mode**
@@ -112,6 +120,8 @@ Property Descriptions
 | *Getter* | get_switch_mode()      |
 +----------+------------------------+
 
+The transition type.
+
 .. _class_AnimationNodeStateMachineTransition_property_xfade_time:
 
 - :ref:`float<class_float>` **xfade_time**
@@ -122,3 +132,5 @@ Property Descriptions
 | *Getter* | get_xfade_time()      |
 +----------+-----------------------+
 
+The time to cross-fade between this state and the next.
+

+ 7 - 0
classes/class_animationtree.rst

@@ -61,6 +61,13 @@ enum **AnimationProcessMode**:
 
 - **ANIMATION_PROCESS_MANUAL** = **2**
 
+Tutorials
+---------
+
+- :doc:`../tutorials/animation/animation_tree`
+
+- `https://github.com/godotengine/tps-demo <https://github.com/godotengine/tps-demo>`_
+
 Property Descriptions
 ---------------------
 

+ 1 - 1
classes/class_array.rst

@@ -303,7 +303,7 @@ Searches the array in reverse order. Optionally, a start search index can be pas
 
 - void **shuffle** **(** **)**
 
-Shuffles the array such that the items will have a random order.
+Shuffles the array such that the items will have a random order. This method uses the global random number generator common to methods such as :ref:`@GDScript.randi<class_@GDScript_method_randi>`. Call :ref:`@GDScript.randomize<class_@GDScript_method_randomize>` to ensure that a new seed will be used each time if you want non-reproducible shuffling.
 
 .. _class_Array_method_size:
 

+ 16 - 0
classes/class_astar.rst

@@ -54,8 +54,12 @@ Methods
 +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`bool<class_bool>`                         | :ref:`has_point<class_AStar_method_has_point>` **(** :ref:`int<class_int>` id **)** const                                                                               |
 +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                         | :ref:`is_point_disabled<class_AStar_method_is_point_disabled>` **(** :ref:`int<class_int>` id **)** const                                                               |
++-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                            | :ref:`remove_point<class_AStar_method_remove_point>` **(** :ref:`int<class_int>` id **)**                                                                               |
 +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                            | :ref:`set_point_disabled<class_AStar_method_set_point_disabled>` **(** :ref:`int<class_int>` id, :ref:`bool<class_bool>` disabled=true **)**                            |
++-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                            | :ref:`set_point_position<class_AStar_method_set_point_position>` **(** :ref:`int<class_int>` id, :ref:`Vector3<class_Vector3>` position **)**                           |
 +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                            | :ref:`set_point_weight_scale<class_AStar_method_set_point_weight_scale>` **(** :ref:`int<class_int>` id, :ref:`float<class_float>` weight_scale **)**                   |
@@ -228,12 +232,24 @@ Returns an array of all points.
 
 Returns whether a point associated with the given id exists.
 
+.. _class_AStar_method_is_point_disabled:
+
+- :ref:`bool<class_bool>` **is_point_disabled** **(** :ref:`int<class_int>` id **)** const
+
+Returns whether a point is disabled or not for pathfinding. By default, all points are enabled.
+
 .. _class_AStar_method_remove_point:
 
 - void **remove_point** **(** :ref:`int<class_int>` id **)**
 
 Removes the point associated with the given id from the points pool.
 
+.. _class_AStar_method_set_point_disabled:
+
+- void **set_point_disabled** **(** :ref:`int<class_int>` id, :ref:`bool<class_bool>` disabled=true **)**
+
+Disables or enables the specified point for pathfinding. Useful for making a temporary obstacle.
+
 .. _class_AStar_method_set_point_position:
 
 - void **set_point_position** **(** :ref:`int<class_int>` id, :ref:`Vector3<class_Vector3>` position **)**

+ 1 - 1
classes/class_audioeffect.rst

@@ -9,7 +9,7 @@ AudioEffect
 
 **Inherits:** :ref:`Resource<class_Resource>` **<** :ref:`Reference<class_Reference>` **<** :ref:`Object<class_Object>`
 
-**Inherited By:** :ref:`AudioEffectAmplify<class_AudioEffectAmplify>`, :ref:`AudioEffectChorus<class_AudioEffectChorus>`, :ref:`AudioEffectCompressor<class_AudioEffectCompressor>`, :ref:`AudioEffectDelay<class_AudioEffectDelay>`, :ref:`AudioEffectDistortion<class_AudioEffectDistortion>`, :ref:`AudioEffectEQ<class_AudioEffectEQ>`, :ref:`AudioEffectFilter<class_AudioEffectFilter>`, :ref:`AudioEffectLimiter<class_AudioEffectLimiter>`, :ref:`AudioEffectPanner<class_AudioEffectPanner>`, :ref:`AudioEffectPhaser<class_AudioEffectPhaser>`, :ref:`AudioEffectPitchShift<class_AudioEffectPitchShift>`, :ref:`AudioEffectRecord<class_AudioEffectRecord>`, :ref:`AudioEffectReverb<class_AudioEffectReverb>`, :ref:`AudioEffectStereoEnhance<class_AudioEffectStereoEnhance>`
+**Inherited By:** :ref:`AudioEffectAmplify<class_AudioEffectAmplify>`, :ref:`AudioEffectChorus<class_AudioEffectChorus>`, :ref:`AudioEffectCompressor<class_AudioEffectCompressor>`, :ref:`AudioEffectDelay<class_AudioEffectDelay>`, :ref:`AudioEffectDistortion<class_AudioEffectDistortion>`, :ref:`AudioEffectEQ<class_AudioEffectEQ>`, :ref:`AudioEffectFilter<class_AudioEffectFilter>`, :ref:`AudioEffectLimiter<class_AudioEffectLimiter>`, :ref:`AudioEffectPanner<class_AudioEffectPanner>`, :ref:`AudioEffectPhaser<class_AudioEffectPhaser>`, :ref:`AudioEffectPitchShift<class_AudioEffectPitchShift>`, :ref:`AudioEffectRecord<class_AudioEffectRecord>`, :ref:`AudioEffectReverb<class_AudioEffectReverb>`, :ref:`AudioEffectSpectrumAnalyzer<class_AudioEffectSpectrumAnalyzer>`, :ref:`AudioEffectStereoEnhance<class_AudioEffectStereoEnhance>`
 
 **Category:** Core
 

+ 20 - 0
classes/class_audioeffectinstance.rst

@@ -0,0 +1,20 @@
+.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. DO NOT EDIT THIS FILE, but the AudioEffectInstance.xml source instead.
+.. The source is found in doc/classes or modules/<name>/doc_classes.
+
+.. _class_AudioEffectInstance:
+
+AudioEffectInstance
+===================
+
+**Inherits:** :ref:`Reference<class_Reference>` **<** :ref:`Object<class_Object>`
+
+**Inherited By:** :ref:`AudioEffectSpectrumAnalyzerInstance<class_AudioEffectSpectrumAnalyzerInstance>`
+
+**Category:** Core
+
+Brief Description
+-----------------
+
+
+

+ 93 - 0
classes/class_audioeffectspectrumanalyzer.rst

@@ -0,0 +1,93 @@
+.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. DO NOT EDIT THIS FILE, but the AudioEffectSpectrumAnalyzer.xml source instead.
+.. The source is found in doc/classes or modules/<name>/doc_classes.
+
+.. _class_AudioEffectSpectrumAnalyzer:
+
+AudioEffectSpectrumAnalyzer
+===========================
+
+**Inherits:** :ref:`AudioEffect<class_AudioEffect>` **<** :ref:`Resource<class_Resource>` **<** :ref:`Reference<class_Reference>` **<** :ref:`Object<class_Object>`
+
+**Category:** Core
+
+Brief Description
+-----------------
+
+
+
+Properties
+----------
+
++------------------------------------------------------------+--------------------------------------------------------------------------------+
+| :ref:`float<class_float>`                                  | :ref:`buffer_length<class_AudioEffectSpectrumAnalyzer_property_buffer_length>` |
++------------------------------------------------------------+--------------------------------------------------------------------------------+
+| :ref:`FFT_Size<enum_AudioEffectSpectrumAnalyzer_FFT_Size>` | :ref:`fft_size<class_AudioEffectSpectrumAnalyzer_property_fft_size>`           |
++------------------------------------------------------------+--------------------------------------------------------------------------------+
+| :ref:`float<class_float>`                                  | :ref:`tap_back_pos<class_AudioEffectSpectrumAnalyzer_property_tap_back_pos>`   |
++------------------------------------------------------------+--------------------------------------------------------------------------------+
+
+Enumerations
+------------
+
+.. _enum_AudioEffectSpectrumAnalyzer_FFT_Size:
+
+.. _class_AudioEffectSpectrumAnalyzer_constant_FFT_SIZE_256:
+
+.. _class_AudioEffectSpectrumAnalyzer_constant_FFT_SIZE_512:
+
+.. _class_AudioEffectSpectrumAnalyzer_constant_FFT_SIZE_1024:
+
+.. _class_AudioEffectSpectrumAnalyzer_constant_FFT_SIZE_2048:
+
+.. _class_AudioEffectSpectrumAnalyzer_constant_FFT_SIZE_4096:
+
+.. _class_AudioEffectSpectrumAnalyzer_constant_FFT_SIZE_MAX:
+
+enum **FFT_Size**:
+
+- **FFT_SIZE_256** = **0**
+
+- **FFT_SIZE_512** = **1**
+
+- **FFT_SIZE_1024** = **2**
+
+- **FFT_SIZE_2048** = **3**
+
+- **FFT_SIZE_4096** = **4**
+
+- **FFT_SIZE_MAX** = **5**
+
+Property Descriptions
+---------------------
+
+.. _class_AudioEffectSpectrumAnalyzer_property_buffer_length:
+
+- :ref:`float<class_float>` **buffer_length**
+
++----------+--------------------------+
+| *Setter* | set_buffer_length(value) |
++----------+--------------------------+
+| *Getter* | get_buffer_length()      |
++----------+--------------------------+
+
+.. _class_AudioEffectSpectrumAnalyzer_property_fft_size:
+
+- :ref:`FFT_Size<enum_AudioEffectSpectrumAnalyzer_FFT_Size>` **fft_size**
+
++----------+---------------------+
+| *Setter* | set_fft_size(value) |
++----------+---------------------+
+| *Getter* | get_fft_size()      |
++----------+---------------------+
+
+.. _class_AudioEffectSpectrumAnalyzer_property_tap_back_pos:
+
+- :ref:`float<class_float>` **tap_back_pos**
+
++----------+-------------------------+
+| *Setter* | set_tap_back_pos(value) |
++----------+-------------------------+
+| *Getter* | get_tap_back_pos()      |
++----------+-------------------------+
+

+ 47 - 0
classes/class_audioeffectspectrumanalyzerinstance.rst

@@ -0,0 +1,47 @@
+.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. DO NOT EDIT THIS FILE, but the AudioEffectSpectrumAnalyzerInstance.xml source instead.
+.. The source is found in doc/classes or modules/<name>/doc_classes.
+
+.. _class_AudioEffectSpectrumAnalyzerInstance:
+
+AudioEffectSpectrumAnalyzerInstance
+===================================
+
+**Inherits:** :ref:`AudioEffectInstance<class_AudioEffectInstance>` **<** :ref:`Reference<class_Reference>` **<** :ref:`Object<class_Object>`
+
+**Category:** Core
+
+Brief Description
+-----------------
+
+
+
+Methods
+-------
+
++-------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Vector2<class_Vector2>` | :ref:`get_magnitude_for_frequency_range<class_AudioEffectSpectrumAnalyzerInstance_method_get_magnitude_for_frequency_range>` **(** :ref:`float<class_float>` from_hz, :ref:`float<class_float>` to_hz, :ref:`MagnitudeMode<enum_AudioEffectSpectrumAnalyzerInstance_MagnitudeMode>` mode=1 **)** const |
++-------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+
+Enumerations
+------------
+
+.. _enum_AudioEffectSpectrumAnalyzerInstance_MagnitudeMode:
+
+.. _class_AudioEffectSpectrumAnalyzerInstance_constant_MAGNITUDE_AVERAGE:
+
+.. _class_AudioEffectSpectrumAnalyzerInstance_constant_MAGNITUDE_MAX:
+
+enum **MagnitudeMode**:
+
+- **MAGNITUDE_AVERAGE** = **0**
+
+- **MAGNITUDE_MAX** = **1**
+
+Method Descriptions
+-------------------
+
+.. _class_AudioEffectSpectrumAnalyzerInstance_method_get_magnitude_for_frequency_range:
+
+- :ref:`Vector2<class_Vector2>` **get_magnitude_for_frequency_range** **(** :ref:`float<class_float>` from_hz, :ref:`float<class_float>` to_hz, :ref:`MagnitudeMode<enum_AudioEffectSpectrumAnalyzerInstance_MagnitudeMode>` mode=1 **)** const
+

+ 87 - 81
classes/class_audioserver.rst

@@ -19,87 +19,89 @@ Server interface for low level audio access.
 Methods
 -------
 
-+--------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                             | :ref:`add_bus<class_AudioServer_method_add_bus>` **(** :ref:`int<class_int>` at_position=-1 **)**                                                                                            |
-+--------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                             | :ref:`add_bus_effect<class_AudioServer_method_add_bus_effect>` **(** :ref:`int<class_int>` bus_idx, :ref:`AudioEffect<class_AudioEffect>` effect, :ref:`int<class_int>` at_position=-1 **)** |
-+--------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_String>`                      | :ref:`capture_get_device<class_AudioServer_method_capture_get_device>` **(** **)**                                                                                                           |
-+--------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Array<class_Array>`                        | :ref:`capture_get_device_list<class_AudioServer_method_capture_get_device_list>` **(** **)**                                                                                                 |
-+--------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                             | :ref:`capture_set_device<class_AudioServer_method_capture_set_device>` **(** :ref:`String<class_String>` name **)**                                                                          |
-+--------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`AudioBusLayout<class_AudioBusLayout>`      | :ref:`generate_bus_layout<class_AudioServer_method_generate_bus_layout>` **(** **)** const                                                                                                   |
-+--------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                            | :ref:`get_bus_channels<class_AudioServer_method_get_bus_channels>` **(** :ref:`int<class_int>` bus_idx **)** const                                                                           |
-+--------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                            | :ref:`get_bus_count<class_AudioServer_method_get_bus_count>` **(** **)** const                                                                                                               |
-+--------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`AudioEffect<class_AudioEffect>`            | :ref:`get_bus_effect<class_AudioServer_method_get_bus_effect>` **(** :ref:`int<class_int>` bus_idx, :ref:`int<class_int>` effect_idx **)**                                                   |
-+--------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                            | :ref:`get_bus_effect_count<class_AudioServer_method_get_bus_effect_count>` **(** :ref:`int<class_int>` bus_idx **)**                                                                         |
-+--------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                            | :ref:`get_bus_index<class_AudioServer_method_get_bus_index>` **(** :ref:`String<class_String>` bus_name **)** const                                                                          |
-+--------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_String>`                      | :ref:`get_bus_name<class_AudioServer_method_get_bus_name>` **(** :ref:`int<class_int>` bus_idx **)** const                                                                                   |
-+--------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`                        | :ref:`get_bus_peak_volume_left_db<class_AudioServer_method_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_right_db<class_AudioServer_method_get_bus_peak_volume_right_db>` **(** :ref:`int<class_int>` bus_idx, :ref:`int<class_int>` channel **)** const                    |
-+--------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_String>`                      | :ref:`get_bus_send<class_AudioServer_method_get_bus_send>` **(** :ref:`int<class_int>` bus_idx **)** const                                                                                   |
-+--------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`                        | :ref:`get_bus_volume_db<class_AudioServer_method_get_bus_volume_db>` **(** :ref:`int<class_int>` bus_idx **)** const                                                                         |
-+--------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_String>`                      | :ref:`get_device<class_AudioServer_method_get_device>` **(** **)**                                                                                                                           |
-+--------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Array<class_Array>`                        | :ref:`get_device_list<class_AudioServer_method_get_device_list>` **(** **)**                                                                                                                 |
-+--------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`                        | :ref:`get_mix_rate<class_AudioServer_method_get_mix_rate>` **(** **)** const                                                                                                                 |
-+--------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`SpeakerMode<enum_AudioServer_SpeakerMode>` | :ref:`get_speaker_mode<class_AudioServer_method_get_speaker_mode>` **(** **)** const                                                                                                         |
-+--------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                          | :ref:`is_bus_bypassing_effects<class_AudioServer_method_is_bus_bypassing_effects>` **(** :ref:`int<class_int>` bus_idx **)** const                                                           |
-+--------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                          | :ref:`is_bus_effect_enabled<class_AudioServer_method_is_bus_effect_enabled>` **(** :ref:`int<class_int>` bus_idx, :ref:`int<class_int>` effect_idx **)** const                               |
-+--------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                          | :ref:`is_bus_mute<class_AudioServer_method_is_bus_mute>` **(** :ref:`int<class_int>` bus_idx **)** const                                                                                     |
-+--------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                          | :ref:`is_bus_solo<class_AudioServer_method_is_bus_solo>` **(** :ref:`int<class_int>` bus_idx **)** const                                                                                     |
-+--------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                             | :ref:`lock<class_AudioServer_method_lock>` **(** **)**                                                                                                                                       |
-+--------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                             | :ref:`move_bus<class_AudioServer_method_move_bus>` **(** :ref:`int<class_int>` index, :ref:`int<class_int>` to_index **)**                                                                   |
-+--------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                             | :ref:`remove_bus<class_AudioServer_method_remove_bus>` **(** :ref:`int<class_int>` index **)**                                                                                               |
-+--------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                             | :ref:`remove_bus_effect<class_AudioServer_method_remove_bus_effect>` **(** :ref:`int<class_int>` bus_idx, :ref:`int<class_int>` effect_idx **)**                                             |
-+--------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                             | :ref:`set_bus_bypass_effects<class_AudioServer_method_set_bus_bypass_effects>` **(** :ref:`int<class_int>` bus_idx, :ref:`bool<class_bool>` enable **)**                                     |
-+--------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                             | :ref:`set_bus_count<class_AudioServer_method_set_bus_count>` **(** :ref:`int<class_int>` amount **)**                                                                                        |
-+--------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                             | :ref:`set_bus_effect_enabled<class_AudioServer_method_set_bus_effect_enabled>` **(** :ref:`int<class_int>` bus_idx, :ref:`int<class_int>` effect_idx, :ref:`bool<class_bool>` enabled **)**  |
-+--------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                             | :ref:`set_bus_layout<class_AudioServer_method_set_bus_layout>` **(** :ref:`AudioBusLayout<class_AudioBusLayout>` bus_layout **)**                                                            |
-+--------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                             | :ref:`set_bus_mute<class_AudioServer_method_set_bus_mute>` **(** :ref:`int<class_int>` bus_idx, :ref:`bool<class_bool>` enable **)**                                                         |
-+--------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                             | :ref:`set_bus_name<class_AudioServer_method_set_bus_name>` **(** :ref:`int<class_int>` bus_idx, :ref:`String<class_String>` name **)**                                                       |
-+--------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                             | :ref:`set_bus_send<class_AudioServer_method_set_bus_send>` **(** :ref:`int<class_int>` bus_idx, :ref:`String<class_String>` send **)**                                                       |
-+--------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                             | :ref:`set_bus_solo<class_AudioServer_method_set_bus_solo>` **(** :ref:`int<class_int>` bus_idx, :ref:`bool<class_bool>` enable **)**                                                         |
-+--------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                             | :ref:`set_bus_volume_db<class_AudioServer_method_set_bus_volume_db>` **(** :ref:`int<class_int>` bus_idx, :ref:`float<class_float>` volume_db **)**                                          |
-+--------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                             | :ref:`set_device<class_AudioServer_method_set_device>` **(** :ref:`String<class_String>` device **)**                                                                                        |
-+--------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                             | :ref:`swap_bus_effects<class_AudioServer_method_swap_bus_effects>` **(** :ref:`int<class_int>` bus_idx, :ref:`int<class_int>` effect_idx, :ref:`int<class_int>` by_effect_idx **)**          |
-+--------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                             | :ref:`unlock<class_AudioServer_method_unlock>` **(** **)**                                                                                                                                   |
-+--------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
++-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                                  | :ref:`add_bus<class_AudioServer_method_add_bus>` **(** :ref:`int<class_int>` at_position=-1 **)**                                                                                             |
++-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                                  | :ref:`add_bus_effect<class_AudioServer_method_add_bus_effect>` **(** :ref:`int<class_int>` bus_idx, :ref:`AudioEffect<class_AudioEffect>` effect, :ref:`int<class_int>` at_position=-1 **)**  |
++-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_String>`                           | :ref:`capture_get_device<class_AudioServer_method_capture_get_device>` **(** **)**                                                                                                            |
++-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Array<class_Array>`                             | :ref:`capture_get_device_list<class_AudioServer_method_capture_get_device_list>` **(** **)**                                                                                                  |
++-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                                  | :ref:`capture_set_device<class_AudioServer_method_capture_set_device>` **(** :ref:`String<class_String>` name **)**                                                                           |
++-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`AudioBusLayout<class_AudioBusLayout>`           | :ref:`generate_bus_layout<class_AudioServer_method_generate_bus_layout>` **(** **)** const                                                                                                    |
++-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                                 | :ref:`get_bus_channels<class_AudioServer_method_get_bus_channels>` **(** :ref:`int<class_int>` bus_idx **)** const                                                                            |
++-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                                 | :ref:`get_bus_count<class_AudioServer_method_get_bus_count>` **(** **)** const                                                                                                                |
++-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`AudioEffect<class_AudioEffect>`                 | :ref:`get_bus_effect<class_AudioServer_method_get_bus_effect>` **(** :ref:`int<class_int>` bus_idx, :ref:`int<class_int>` effect_idx **)**                                                    |
++-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                                 | :ref:`get_bus_effect_count<class_AudioServer_method_get_bus_effect_count>` **(** :ref:`int<class_int>` bus_idx **)**                                                                          |
++-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`AudioEffectInstance<class_AudioEffectInstance>` | :ref:`get_bus_effect_instance<class_AudioServer_method_get_bus_effect_instance>` **(** :ref:`int<class_int>` bus_idx, :ref:`int<class_int>` effect_idx, :ref:`int<class_int>` channel=0 **)** |
++-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                                 | :ref:`get_bus_index<class_AudioServer_method_get_bus_index>` **(** :ref:`String<class_String>` bus_name **)** const                                                                           |
++-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_String>`                           | :ref:`get_bus_name<class_AudioServer_method_get_bus_name>` **(** :ref:`int<class_int>` bus_idx **)** const                                                                                    |
++-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`                             | :ref:`get_bus_peak_volume_left_db<class_AudioServer_method_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_right_db<class_AudioServer_method_get_bus_peak_volume_right_db>` **(** :ref:`int<class_int>` bus_idx, :ref:`int<class_int>` channel **)** const                     |
++-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_String>`                           | :ref:`get_bus_send<class_AudioServer_method_get_bus_send>` **(** :ref:`int<class_int>` bus_idx **)** const                                                                                    |
++-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`                             | :ref:`get_bus_volume_db<class_AudioServer_method_get_bus_volume_db>` **(** :ref:`int<class_int>` bus_idx **)** const                                                                          |
++-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_String>`                           | :ref:`get_device<class_AudioServer_method_get_device>` **(** **)**                                                                                                                            |
++-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Array<class_Array>`                             | :ref:`get_device_list<class_AudioServer_method_get_device_list>` **(** **)**                                                                                                                  |
++-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`                             | :ref:`get_mix_rate<class_AudioServer_method_get_mix_rate>` **(** **)** const                                                                                                                  |
++-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`SpeakerMode<enum_AudioServer_SpeakerMode>`      | :ref:`get_speaker_mode<class_AudioServer_method_get_speaker_mode>` **(** **)** const                                                                                                          |
++-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                               | :ref:`is_bus_bypassing_effects<class_AudioServer_method_is_bus_bypassing_effects>` **(** :ref:`int<class_int>` bus_idx **)** const                                                            |
++-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                               | :ref:`is_bus_effect_enabled<class_AudioServer_method_is_bus_effect_enabled>` **(** :ref:`int<class_int>` bus_idx, :ref:`int<class_int>` effect_idx **)** const                                |
++-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                               | :ref:`is_bus_mute<class_AudioServer_method_is_bus_mute>` **(** :ref:`int<class_int>` bus_idx **)** const                                                                                      |
++-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                               | :ref:`is_bus_solo<class_AudioServer_method_is_bus_solo>` **(** :ref:`int<class_int>` bus_idx **)** const                                                                                      |
++-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                                  | :ref:`lock<class_AudioServer_method_lock>` **(** **)**                                                                                                                                        |
++-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                                  | :ref:`move_bus<class_AudioServer_method_move_bus>` **(** :ref:`int<class_int>` index, :ref:`int<class_int>` to_index **)**                                                                    |
++-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                                  | :ref:`remove_bus<class_AudioServer_method_remove_bus>` **(** :ref:`int<class_int>` index **)**                                                                                                |
++-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                                  | :ref:`remove_bus_effect<class_AudioServer_method_remove_bus_effect>` **(** :ref:`int<class_int>` bus_idx, :ref:`int<class_int>` effect_idx **)**                                              |
++-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                                  | :ref:`set_bus_bypass_effects<class_AudioServer_method_set_bus_bypass_effects>` **(** :ref:`int<class_int>` bus_idx, :ref:`bool<class_bool>` enable **)**                                      |
++-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                                  | :ref:`set_bus_count<class_AudioServer_method_set_bus_count>` **(** :ref:`int<class_int>` amount **)**                                                                                         |
++-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                                  | :ref:`set_bus_effect_enabled<class_AudioServer_method_set_bus_effect_enabled>` **(** :ref:`int<class_int>` bus_idx, :ref:`int<class_int>` effect_idx, :ref:`bool<class_bool>` enabled **)**   |
++-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                                  | :ref:`set_bus_layout<class_AudioServer_method_set_bus_layout>` **(** :ref:`AudioBusLayout<class_AudioBusLayout>` bus_layout **)**                                                             |
++-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                                  | :ref:`set_bus_mute<class_AudioServer_method_set_bus_mute>` **(** :ref:`int<class_int>` bus_idx, :ref:`bool<class_bool>` enable **)**                                                          |
++-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                                  | :ref:`set_bus_name<class_AudioServer_method_set_bus_name>` **(** :ref:`int<class_int>` bus_idx, :ref:`String<class_String>` name **)**                                                        |
++-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                                  | :ref:`set_bus_send<class_AudioServer_method_set_bus_send>` **(** :ref:`int<class_int>` bus_idx, :ref:`String<class_String>` send **)**                                                        |
++-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                                  | :ref:`set_bus_solo<class_AudioServer_method_set_bus_solo>` **(** :ref:`int<class_int>` bus_idx, :ref:`bool<class_bool>` enable **)**                                                          |
++-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                                  | :ref:`set_bus_volume_db<class_AudioServer_method_set_bus_volume_db>` **(** :ref:`int<class_int>` bus_idx, :ref:`float<class_float>` volume_db **)**                                           |
++-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                                  | :ref:`set_device<class_AudioServer_method_set_device>` **(** :ref:`String<class_String>` device **)**                                                                                         |
++-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                                  | :ref:`swap_bus_effects<class_AudioServer_method_swap_bus_effects>` **(** :ref:`int<class_int>` bus_idx, :ref:`int<class_int>` effect_idx, :ref:`int<class_int>` by_effect_idx **)**           |
++-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                                  | :ref:`unlock<class_AudioServer_method_unlock>` **(** **)**                                                                                                                                    |
++-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 
 Signals
 -------
@@ -200,6 +202,10 @@ Returns the :ref:`AudioEffect<class_AudioEffect>` at position ``effect_idx`` in
 
 Returns the number of effects on the bus at ``bus_idx``.
 
+.. _class_AudioServer_method_get_bus_effect_instance:
+
+- :ref:`AudioEffectInstance<class_AudioEffectInstance>` **get_bus_effect_instance** **(** :ref:`int<class_int>` bus_idx, :ref:`int<class_int>` effect_idx, :ref:`int<class_int>` channel=0 **)**
+
 .. _class_AudioServer_method_get_bus_index:
 
 - :ref:`int<class_int>` **get_bus_index** **(** :ref:`String<class_String>` bus_name **)** const

+ 1 - 1
classes/class_audiostream.rst

@@ -9,7 +9,7 @@ AudioStream
 
 **Inherits:** :ref:`Resource<class_Resource>` **<** :ref:`Reference<class_Reference>` **<** :ref:`Object<class_Object>`
 
-**Inherited By:** :ref:`AudioStreamMicrophone<class_AudioStreamMicrophone>`, :ref:`AudioStreamOGGVorbis<class_AudioStreamOGGVorbis>`, :ref:`AudioStreamRandomPitch<class_AudioStreamRandomPitch>`, :ref:`AudioStreamSample<class_AudioStreamSample>`
+**Inherited By:** :ref:`AudioStreamGenerator<class_AudioStreamGenerator>`, :ref:`AudioStreamMicrophone<class_AudioStreamMicrophone>`, :ref:`AudioStreamOGGVorbis<class_AudioStreamOGGVorbis>`, :ref:`AudioStreamRandomPitch<class_AudioStreamRandomPitch>`, :ref:`AudioStreamSample<class_AudioStreamSample>`
 
 **Category:** Core
 

+ 50 - 0
classes/class_audiostreamgenerator.rst

@@ -0,0 +1,50 @@
+.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. DO NOT EDIT THIS FILE, but the AudioStreamGenerator.xml source instead.
+.. The source is found in doc/classes or modules/<name>/doc_classes.
+
+.. _class_AudioStreamGenerator:
+
+AudioStreamGenerator
+====================
+
+**Inherits:** :ref:`AudioStream<class_AudioStream>` **<** :ref:`Resource<class_Resource>` **<** :ref:`Reference<class_Reference>` **<** :ref:`Object<class_Object>`
+
+**Category:** Core
+
+Brief Description
+-----------------
+
+
+
+Properties
+----------
+
++---------------------------+-------------------------------------------------------------------------+
+| :ref:`float<class_float>` | :ref:`buffer_length<class_AudioStreamGenerator_property_buffer_length>` |
++---------------------------+-------------------------------------------------------------------------+
+| :ref:`float<class_float>` | :ref:`mix_rate<class_AudioStreamGenerator_property_mix_rate>`           |
++---------------------------+-------------------------------------------------------------------------+
+
+Property Descriptions
+---------------------
+
+.. _class_AudioStreamGenerator_property_buffer_length:
+
+- :ref:`float<class_float>` **buffer_length**
+
++----------+--------------------------+
+| *Setter* | set_buffer_length(value) |
++----------+--------------------------+
+| *Getter* | get_buffer_length()      |
++----------+--------------------------+
+
+.. _class_AudioStreamGenerator_property_mix_rate:
+
+- :ref:`float<class_float>` **mix_rate**
+
++----------+---------------------+
+| *Setter* | set_mix_rate(value) |
++----------+---------------------+
+| *Getter* | get_mix_rate()      |
++----------+---------------------+
+

+ 62 - 0
classes/class_audiostreamgeneratorplayback.rst

@@ -0,0 +1,62 @@
+.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. DO NOT EDIT THIS FILE, but the AudioStreamGeneratorPlayback.xml source instead.
+.. The source is found in doc/classes or modules/<name>/doc_classes.
+
+.. _class_AudioStreamGeneratorPlayback:
+
+AudioStreamGeneratorPlayback
+============================
+
+**Inherits:** :ref:`AudioStreamPlaybackResampled<class_AudioStreamPlaybackResampled>` **<** :ref:`AudioStreamPlayback<class_AudioStreamPlayback>` **<** :ref:`Reference<class_Reference>` **<** :ref:`Object<class_Object>`
+
+**Category:** Core
+
+Brief Description
+-----------------
+
+
+
+Methods
+-------
+
++-------------------------+----------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>` | :ref:`can_push_buffer<class_AudioStreamGeneratorPlayback_method_can_push_buffer>` **(** :ref:`int<class_int>` amount **)** const             |
++-------------------------+----------------------------------------------------------------------------------------------------------------------------------------------+
+| void                    | :ref:`clear_buffer<class_AudioStreamGeneratorPlayback_method_clear_buffer>` **(** **)**                                                      |
++-------------------------+----------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`   | :ref:`get_frames_available<class_AudioStreamGeneratorPlayback_method_get_frames_available>` **(** **)** const                                |
++-------------------------+----------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`   | :ref:`get_skips<class_AudioStreamGeneratorPlayback_method_get_skips>` **(** **)** const                                                      |
++-------------------------+----------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>` | :ref:`push_buffer<class_AudioStreamGeneratorPlayback_method_push_buffer>` **(** :ref:`PoolVector2Array<class_PoolVector2Array>` frames **)** |
++-------------------------+----------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>` | :ref:`push_frame<class_AudioStreamGeneratorPlayback_method_push_frame>` **(** :ref:`Vector2<class_Vector2>` frame **)**                      |
++-------------------------+----------------------------------------------------------------------------------------------------------------------------------------------+
+
+Method Descriptions
+-------------------
+
+.. _class_AudioStreamGeneratorPlayback_method_can_push_buffer:
+
+- :ref:`bool<class_bool>` **can_push_buffer** **(** :ref:`int<class_int>` amount **)** const
+
+.. _class_AudioStreamGeneratorPlayback_method_clear_buffer:
+
+- void **clear_buffer** **(** **)**
+
+.. _class_AudioStreamGeneratorPlayback_method_get_frames_available:
+
+- :ref:`int<class_int>` **get_frames_available** **(** **)** const
+
+.. _class_AudioStreamGeneratorPlayback_method_get_skips:
+
+- :ref:`int<class_int>` **get_skips** **(** **)** const
+
+.. _class_AudioStreamGeneratorPlayback_method_push_buffer:
+
+- :ref:`bool<class_bool>` **push_buffer** **(** :ref:`PoolVector2Array<class_PoolVector2Array>` frames **)**
+
+.. _class_AudioStreamGeneratorPlayback_method_push_frame:
+
+- :ref:`bool<class_bool>` **push_frame** **(** :ref:`Vector2<class_Vector2>` frame **)**
+

+ 2 - 0
classes/class_audiostreamplayback.rst

@@ -9,6 +9,8 @@ AudioStreamPlayback
 
 **Inherits:** :ref:`Reference<class_Reference>` **<** :ref:`Object<class_Object>`
 
+**Inherited By:** :ref:`AudioStreamPlaybackResampled<class_AudioStreamPlaybackResampled>`
+
 **Category:** Core
 
 Brief Description

+ 20 - 0
classes/class_audiostreamplaybackresampled.rst

@@ -0,0 +1,20 @@
+.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. DO NOT EDIT THIS FILE, but the AudioStreamPlaybackResampled.xml source instead.
+.. The source is found in doc/classes or modules/<name>/doc_classes.
+
+.. _class_AudioStreamPlaybackResampled:
+
+AudioStreamPlaybackResampled
+============================
+
+**Inherits:** :ref:`AudioStreamPlayback<class_AudioStreamPlayback>` **<** :ref:`Reference<class_Reference>` **<** :ref:`Object<class_Object>`
+
+**Inherited By:** :ref:`AudioStreamGeneratorPlayback<class_AudioStreamGeneratorPlayback>`
+
+**Category:** Core
+
+Brief Description
+-----------------
+
+
+

+ 15 - 9
classes/class_audiostreamplayer.rst

@@ -40,15 +40,17 @@ Properties
 Methods
 -------
 
-+---------------------------+----------------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>` | :ref:`get_playback_position<class_AudioStreamPlayer_method_get_playback_position>` **(** **)**           |
-+---------------------------+----------------------------------------------------------------------------------------------------------+
-| void                      | :ref:`play<class_AudioStreamPlayer_method_play>` **(** :ref:`float<class_float>` from_position=0.0 **)** |
-+---------------------------+----------------------------------------------------------------------------------------------------------+
-| void                      | :ref:`seek<class_AudioStreamPlayer_method_seek>` **(** :ref:`float<class_float>` to_position **)**       |
-+---------------------------+----------------------------------------------------------------------------------------------------------+
-| void                      | :ref:`stop<class_AudioStreamPlayer_method_stop>` **(** **)**                                             |
-+---------------------------+----------------------------------------------------------------------------------------------------------+
++-------------------------------------------------------+----------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`                             | :ref:`get_playback_position<class_AudioStreamPlayer_method_get_playback_position>` **(** **)**           |
++-------------------------------------------------------+----------------------------------------------------------------------------------------------------------+
+| :ref:`AudioStreamPlayback<class_AudioStreamPlayback>` | :ref:`get_stream_playback<class_AudioStreamPlayer_method_get_stream_playback>` **(** **)**               |
++-------------------------------------------------------+----------------------------------------------------------------------------------------------------------+
+| void                                                  | :ref:`play<class_AudioStreamPlayer_method_play>` **(** :ref:`float<class_float>` from_position=0.0 **)** |
++-------------------------------------------------------+----------------------------------------------------------------------------------------------------------+
+| void                                                  | :ref:`seek<class_AudioStreamPlayer_method_seek>` **(** :ref:`float<class_float>` to_position **)**       |
++-------------------------------------------------------+----------------------------------------------------------------------------------------------------------+
+| void                                                  | :ref:`stop<class_AudioStreamPlayer_method_stop>` **(** **)**                                             |
++-------------------------------------------------------+----------------------------------------------------------------------------------------------------------+
 
 Signals
 -------
@@ -192,6 +194,10 @@ Method Descriptions
 
 Returns the position in the :ref:`AudioStream<class_AudioStream>` in seconds.
 
+.. _class_AudioStreamPlayer_method_get_stream_playback:
+
+- :ref:`AudioStreamPlayback<class_AudioStreamPlayback>` **get_stream_playback** **(** **)**
+
 .. _class_AudioStreamPlayer_method_play:
 
 - void **play** **(** :ref:`float<class_float>` from_position=0.0 **)**

+ 15 - 9
classes/class_audiostreamplayer2d.rst

@@ -44,15 +44,17 @@ Properties
 Methods
 -------
 
-+---------------------------+------------------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>` | :ref:`get_playback_position<class_AudioStreamPlayer2D_method_get_playback_position>` **(** **)**           |
-+---------------------------+------------------------------------------------------------------------------------------------------------+
-| void                      | :ref:`play<class_AudioStreamPlayer2D_method_play>` **(** :ref:`float<class_float>` from_position=0.0 **)** |
-+---------------------------+------------------------------------------------------------------------------------------------------------+
-| void                      | :ref:`seek<class_AudioStreamPlayer2D_method_seek>` **(** :ref:`float<class_float>` to_position **)**       |
-+---------------------------+------------------------------------------------------------------------------------------------------------+
-| void                      | :ref:`stop<class_AudioStreamPlayer2D_method_stop>` **(** **)**                                             |
-+---------------------------+------------------------------------------------------------------------------------------------------------+
++-------------------------------------------------------+------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`                             | :ref:`get_playback_position<class_AudioStreamPlayer2D_method_get_playback_position>` **(** **)**           |
++-------------------------------------------------------+------------------------------------------------------------------------------------------------------------+
+| :ref:`AudioStreamPlayback<class_AudioStreamPlayback>` | :ref:`get_stream_playback<class_AudioStreamPlayer2D_method_get_stream_playback>` **(** **)**               |
++-------------------------------------------------------+------------------------------------------------------------------------------------------------------------+
+| void                                                  | :ref:`play<class_AudioStreamPlayer2D_method_play>` **(** :ref:`float<class_float>` from_position=0.0 **)** |
++-------------------------------------------------------+------------------------------------------------------------------------------------------------------------+
+| void                                                  | :ref:`seek<class_AudioStreamPlayer2D_method_seek>` **(** :ref:`float<class_float>` to_position **)**       |
++-------------------------------------------------------+------------------------------------------------------------------------------------------------------------+
+| void                                                  | :ref:`stop<class_AudioStreamPlayer2D_method_stop>` **(** **)**                                             |
++-------------------------------------------------------+------------------------------------------------------------------------------------------------------------+
 
 Signals
 -------
@@ -201,6 +203,10 @@ Method Descriptions
 
 Returns the position in the :ref:`AudioStream<class_AudioStream>`.
 
+.. _class_AudioStreamPlayer2D_method_get_stream_playback:
+
+- :ref:`AudioStreamPlayback<class_AudioStreamPlayback>` **get_stream_playback** **(** **)**
+
 .. _class_AudioStreamPlayer2D_method_play:
 
 - void **play** **(** :ref:`float<class_float>` from_position=0.0 **)**

+ 15 - 9
classes/class_audiostreamplayer3d.rst

@@ -62,15 +62,17 @@ Properties
 Methods
 -------
 
-+---------------------------+------------------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>` | :ref:`get_playback_position<class_AudioStreamPlayer3D_method_get_playback_position>` **(** **)**           |
-+---------------------------+------------------------------------------------------------------------------------------------------------+
-| void                      | :ref:`play<class_AudioStreamPlayer3D_method_play>` **(** :ref:`float<class_float>` from_position=0.0 **)** |
-+---------------------------+------------------------------------------------------------------------------------------------------------+
-| void                      | :ref:`seek<class_AudioStreamPlayer3D_method_seek>` **(** :ref:`float<class_float>` to_position **)**       |
-+---------------------------+------------------------------------------------------------------------------------------------------------+
-| void                      | :ref:`stop<class_AudioStreamPlayer3D_method_stop>` **(** **)**                                             |
-+---------------------------+------------------------------------------------------------------------------------------------------------+
++-------------------------------------------------------+------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`                             | :ref:`get_playback_position<class_AudioStreamPlayer3D_method_get_playback_position>` **(** **)**           |
++-------------------------------------------------------+------------------------------------------------------------------------------------------------------------+
+| :ref:`AudioStreamPlayback<class_AudioStreamPlayback>` | :ref:`get_stream_playback<class_AudioStreamPlayer3D_method_get_stream_playback>` **(** **)**               |
++-------------------------------------------------------+------------------------------------------------------------------------------------------------------------+
+| void                                                  | :ref:`play<class_AudioStreamPlayer3D_method_play>` **(** :ref:`float<class_float>` from_position=0.0 **)** |
++-------------------------------------------------------+------------------------------------------------------------------------------------------------------------+
+| void                                                  | :ref:`seek<class_AudioStreamPlayer3D_method_seek>` **(** :ref:`float<class_float>` to_position **)**       |
++-------------------------------------------------------+------------------------------------------------------------------------------------------------------------+
+| void                                                  | :ref:`stop<class_AudioStreamPlayer3D_method_stop>` **(** **)**                                             |
++-------------------------------------------------------+------------------------------------------------------------------------------------------------------------+
 
 Signals
 -------
@@ -374,6 +376,10 @@ Method Descriptions
 
 Returns the position in the :ref:`AudioStream<class_AudioStream>`.
 
+.. _class_AudioStreamPlayer3D_method_get_stream_playback:
+
+- :ref:`AudioStreamPlayback<class_AudioStreamPlayback>` **get_stream_playback** **(** **)**
+
 .. _class_AudioStreamPlayer3D_method_play:
 
 - void **play** **(** :ref:`float<class_float>` from_position=0.0 **)**

+ 12 - 0
classes/class_basis.rst

@@ -43,10 +43,14 @@ Methods
 +-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`int<class_int>`         | :ref:`get_orthogonal_index<class_Basis_method_get_orthogonal_index>` **(** **)**                                                                                    |
 +-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Quat<class_Quat>`       | :ref:`get_rotation_quat<class_Basis_method_get_rotation_quat>` **(** **)**                                                                                          |
++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`Vector3<class_Vector3>` | :ref:`get_scale<class_Basis_method_get_scale>` **(** **)**                                                                                                          |
 +-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`Basis<class_Basis>`     | :ref:`inverse<class_Basis_method_inverse>` **(** **)**                                                                                                              |
 +-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`       | :ref:`is_equal_approx<class_Basis_method_is_equal_approx>` **(** :ref:`Basis<class_Basis>` b, :ref:`float<class_float>` epsilon=0.00001 **)**                       |
++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`Basis<class_Basis>`     | :ref:`orthonormalized<class_Basis_method_orthonormalized>` **(** **)**                                                                                              |
 +-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`Basis<class_Basis>`     | :ref:`rotated<class_Basis_method_rotated>` **(** :ref:`Vector3<class_Vector3>` axis, :ref:`float<class_float>` phi **)**                                            |
@@ -140,6 +144,10 @@ Assuming that the matrix is a proper rotation matrix (orthonormal matrix with de
 
 This function considers a discretization of rotations into 24 points on unit sphere, lying along the vectors (x,y,z) with each component being either -1,0 or 1, and returns the index of the point best representing the orientation of the object. It is mainly used by the grid map editor. For further details, refer to Godot source code.
 
+.. _class_Basis_method_get_rotation_quat:
+
+- :ref:`Quat<class_Quat>` **get_rotation_quat** **(** **)**
+
 .. _class_Basis_method_get_scale:
 
 - :ref:`Vector3<class_Vector3>` **get_scale** **(** **)**
@@ -152,6 +160,10 @@ Assuming that the matrix is the combination of a rotation and scaling, return th
 
 Return the inverse of the matrix.
 
+.. _class_Basis_method_is_equal_approx:
+
+- :ref:`bool<class_bool>` **is_equal_approx** **(** :ref:`Basis<class_Basis>` b, :ref:`float<class_float>` epsilon=0.00001 **)**
+
 .. _class_Basis_method_orthonormalized:
 
 - :ref:`Basis<class_Basis>` **orthonormalized** **(** **)**

+ 1 - 1
classes/class_camera.rst

@@ -93,7 +93,7 @@ enum **Projection**:
 
 - **PROJECTION_PERSPECTIVE** = **0** --- Perspective Projection (object's size on the screen becomes smaller when far away).
 
-- **PROJECTION_ORTHOGONAL** = **1** --- Orthogonal Projection (objects remain the same size on the screen no matter how far away they are).
+- **PROJECTION_ORTHOGONAL** = **1** --- Orthogonal Projection (objects remain the same size on the screen no matter how far away they are; also known as orthographic projection).
 
 .. _enum_Camera_KeepAspect:
 

+ 4 - 4
classes/class_collisionobject2d.rst

@@ -79,19 +79,19 @@ Signals
 
 - **input_event** **(** :ref:`Node<class_Node>` viewport, :ref:`InputEvent<class_InputEvent>` event, :ref:`int<class_int>` shape_idx **)**
 
-Emitted when an input event occurs and ``input_pickable`` is ``true``. See :ref:`_input_event<class_CollisionObject2D_method__input_event>` for details.
+Emitted when an input event occurs. Requires ``input_pickable`` to be ``true`` and at least one ``collision_layer`` bit to be set. See :ref:`_input_event<class_CollisionObject2D_method__input_event>` for details.
 
 .. _class_CollisionObject2D_signal_mouse_entered:
 
 - **mouse_entered** **(** **)**
 
-Emitted when the mouse pointer enters any of this object's shapes.
+Emitted when the mouse pointer enters any of this object's shapes. Requires ``input_pickable`` to be ``true`` and at least one ``collision_layer`` bit to be set.
 
 .. _class_CollisionObject2D_signal_mouse_exited:
 
 - **mouse_exited** **(** **)**
 
-Emitted when the mouse pointer exits all this object's shapes.
+Emitted when the mouse pointer exits all this object's shapes. Requires ``input_pickable`` to be ``true`` and at least one ``collision_layer`` bit to be set.
 
 Description
 -----------
@@ -111,7 +111,7 @@ Property Descriptions
 | *Getter* | is_pickable()       |
 +----------+---------------------+
 
-If ``true``, this object is pickable. A pickable object can detect the mouse pointer entering/leaving, and if the mouse is inside it, report input events.
+If ``true``, this object is pickable. A pickable object can detect the mouse pointer entering/leaving, and if the mouse is inside it, report input events. Requires at least one ``collision_layer`` bit to be set.
 
 Method Descriptions
 -------------------

+ 1 - 1
classes/class_dictionary.rst

@@ -91,7 +91,7 @@ Return true if the dictionary is empty.
 
 - :ref:`bool<class_bool>` **erase** **(** :ref:`Variant<class_Variant>` key **)**
 
-Erase a dictionary key/value pair by key. Do not erase elements while iterating over the dictionary.
+Erase a dictionary key/value pair by key. Returns ``true`` if the given key was present in the dictionary, ``false`` otherwise. Do not erase elements while iterating over the dictionary.
 
 .. _class_Dictionary_method_get:
 

+ 6 - 0
classes/class_editorinterface.rst

@@ -30,6 +30,8 @@ Methods
 +-----------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`Control<class_Control>`                             | :ref:`get_editor_viewport<class_EditorInterface_method_get_editor_viewport>` **(** **)**                                                                       |
 +-----------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`EditorInspector<class_EditorInspector>`             | :ref:`get_inspector<class_EditorInterface_method_get_inspector>` **(** **)** const                                                                             |
++-----------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`Array<class_Array>`                                 | :ref:`get_open_scenes<class_EditorInterface_method_get_open_scenes>` **(** **)** const                                                                         |
 +-----------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`EditorFileSystem<class_EditorFileSystem>`           | :ref:`get_resource_filesystem<class_EditorInterface_method_get_resource_filesystem>` **(** **)**                                                               |
@@ -99,6 +101,10 @@ Returns the :ref:`EditorSettings<class_EditorSettings>`.
 
 Returns the editor :ref:`Viewport<class_Viewport>`.
 
+.. _class_EditorInterface_method_get_inspector:
+
+- :ref:`EditorInspector<class_EditorInspector>` **get_inspector** **(** **)** const
+
 .. _class_EditorInterface_method_get_open_scenes:
 
 - :ref:`Array<class_Array>` **get_open_scenes** **(** **)** const

+ 24 - 6
classes/class_file.rst

@@ -73,7 +73,7 @@ Methods
 +-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`String<class_String>`                   | :ref:`get_sha256<class_File_method_get_sha256>` **(** :ref:`String<class_String>` path **)** const                                                                                           |
 +-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Variant<class_Variant>`                 | :ref:`get_var<class_File_method_get_var>` **(** **)** const                                                                                                                                  |
+| :ref:`Variant<class_Variant>`                 | :ref:`get_var<class_File_method_get_var>` **(** :ref:`bool<class_bool>` allow_objects=false **)** const                                                                                      |
 +-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`bool<class_bool>`                       | :ref:`is_open<class_File_method_is_open>` **(** **)** const                                                                                                                                  |
 +-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
@@ -113,7 +113,7 @@ Methods
 +-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                          | :ref:`store_string<class_File_method_store_string>` **(** :ref:`String<class_String>` string **)**                                                                                           |
 +-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                          | :ref:`store_var<class_File_method_store_var>` **(** :ref:`Variant<class_Variant>` value **)**                                                                                                |
+| void                                          | :ref:`store_var<class_File_method_store_var>` **(** :ref:`Variant<class_Variant>` value, :ref:`bool<class_bool>` full_objects=false **)**                                                    |
 +-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 
 Enumerations
@@ -256,6 +256,8 @@ Returns the next 8 bits from the file as an integer.
 
 Returns the whole file as a :ref:`String<class_String>`.
 
+Text is interpreted as being UTF-8 encoded.
+
 .. _class_File_method_get_buffer:
 
 - :ref:`PoolByteArray<class_PoolByteArray>` **get_buffer** **(** :ref:`int<class_int>` len **)** const
@@ -268,6 +270,8 @@ Returns next ``len`` bytes of the file as a :ref:`PoolByteArray<class_PoolByteAr
 
 Returns the next value of the file in CSV (Comma Separated Values) format. You can pass a different delimiter to use other than the default "," (comma), it should be one character long.
 
+Text is interpreted as being UTF-8 encoded.
+
 .. _class_File_method_get_double:
 
 - :ref:`float<class_float>` **get_double** **(** **)** const
@@ -298,6 +302,8 @@ Returns the size of the file in bytes.
 
 Returns the next line of the file as a :ref:`String<class_String>`.
 
+Text is interpreted as being UTF-8 encoded.
+
 .. _class_File_method_get_md5:
 
 - :ref:`String<class_String>` **get_md5** **(** :ref:`String<class_String>` path **)** const
@@ -316,6 +322,8 @@ Returns the last time the ``file`` was modified in unix timestamp format or retu
 
 Returns a :ref:`String<class_String>` saved in Pascal format from the file.
 
+Text is interpreted as being UTF-8 encoded.
+
 .. _class_File_method_get_path:
 
 - :ref:`String<class_String>` **get_path** **(** **)** const
@@ -348,9 +356,11 @@ Returns a SHA-256 :ref:`String<class_String>` representing the file at the given
 
 .. _class_File_method_get_var:
 
-- :ref:`Variant<class_Variant>` **get_var** **(** **)** const
+- :ref:`Variant<class_Variant>` **get_var** **(** :ref:`bool<class_bool>` allow_objects=false **)** const
+
+Returns the next :ref:`Variant<class_Variant>` value from the file. When ``allow_objects`` is ``true`` decoding objects is allowed.
 
-Returns the next :ref:`Variant<class_Variant>` value from the file.
+**WARNING:** Deserialized object can contain code which gets executed. Do not use this option if the serialized object comes from untrusted sources to avoid potential security threats (remote code execution).
 
 .. _class_File_method_is_open:
 
@@ -430,6 +440,8 @@ Stores the given array of bytes in the file.
 
 Store the given :ref:`PoolStringArray<class_PoolStringArray>` in the file as a line formatted in the CSV (Comma Separated Values) format. You can pass a different delimiter to use other than the default "," (comma), it should be one character long.
 
+Text will be encoded as UTF-8.
+
 .. _class_File_method_store_double:
 
 - void **store_double** **(** :ref:`float<class_float>` value **)**
@@ -448,12 +460,16 @@ Stores a floating point number as 32 bits in the file.
 
 Stores the given :ref:`String<class_String>` as a line in the file.
 
+Text will be encoded as UTF-8.
+
 .. _class_File_method_store_pascal_string:
 
 - void **store_pascal_string** **(** :ref:`String<class_String>` string **)**
 
 Stores the given :ref:`String<class_String>` as a line in the file in Pascal format (i.e. also store the length of the string).
 
+Text will be encoded as UTF-8.
+
 .. _class_File_method_store_real:
 
 - void **store_real** **(** :ref:`float<class_float>` value **)**
@@ -466,9 +482,11 @@ Stores a floating point number in the file.
 
 Stores the given :ref:`String<class_String>` in the file.
 
+Text will be encoded as UTF-8.
+
 .. _class_File_method_store_var:
 
-- void **store_var** **(** :ref:`Variant<class_Variant>` value **)**
+- void **store_var** **(** :ref:`Variant<class_Variant>` value, :ref:`bool<class_bool>` full_objects=false **)**
 
-Stores any Variant value in the file.
+Stores any Variant value in the file. When ``full_objects`` is ``true`` encoding objects is allowed (and can potentially include code).
 

+ 73 - 0
classes/class_heightmapshape.rst

@@ -0,0 +1,73 @@
+.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. DO NOT EDIT THIS FILE, but the HeightMapShape.xml source instead.
+.. The source is found in doc/classes or modules/<name>/doc_classes.
+
+.. _class_HeightMapShape:
+
+HeightMapShape
+==============
+
+**Inherits:** :ref:`Shape<class_Shape>` **<** :ref:`Resource<class_Resource>` **<** :ref:`Reference<class_Reference>` **<** :ref:`Object<class_Object>`
+
+**Category:** Core
+
+Brief Description
+-----------------
+
+Height map shape for 3D physics (bullet only)
+
+Properties
+----------
+
++-------------------------------------------+-----------------------------------------------------------+
+| :ref:`PoolRealArray<class_PoolRealArray>` | :ref:`map_data<class_HeightMapShape_property_map_data>`   |
++-------------------------------------------+-----------------------------------------------------------+
+| :ref:`int<class_int>`                     | :ref:`map_depth<class_HeightMapShape_property_map_depth>` |
++-------------------------------------------+-----------------------------------------------------------+
+| :ref:`int<class_int>`                     | :ref:`map_width<class_HeightMapShape_property_map_width>` |
++-------------------------------------------+-----------------------------------------------------------+
+
+Description
+-----------
+
+Height map shape resource, which can be added to a :ref:`PhysicsBody<class_PhysicsBody>` or :ref:`Area<class_Area>`.
+
+Property Descriptions
+---------------------
+
+.. _class_HeightMapShape_property_map_data:
+
+- :ref:`PoolRealArray<class_PoolRealArray>` **map_data**
+
++----------+---------------------+
+| *Setter* | set_map_data(value) |
++----------+---------------------+
+| *Getter* | get_map_data()      |
++----------+---------------------+
+
+Height map data, pool array must be of :ref:`map_width<class_HeightMapShape_property_map_width>` \* :ref:`map_depth<class_HeightMapShape_property_map_depth>` size.
+
+.. _class_HeightMapShape_property_map_depth:
+
+- :ref:`int<class_int>` **map_depth**
+
++----------+----------------------+
+| *Setter* | set_map_depth(value) |
++----------+----------------------+
+| *Getter* | get_map_depth()      |
++----------+----------------------+
+
+Depth of the height map data. Changing this will resize the :ref:`map_data<class_HeightMapShape_property_map_data>`.
+
+.. _class_HeightMapShape_property_map_width:
+
+- :ref:`int<class_int>` **map_width**
+
++----------+----------------------+
+| *Setter* | set_map_width(value) |
++----------+----------------------+
+| *Getter* | get_map_width()      |
++----------+----------------------+
+
+Width of the height map data. Changing this will resize the :ref:`map_data<class_HeightMapShape_property_map_data>`.
+

+ 8 - 0
classes/class_line2d.rst

@@ -49,6 +49,8 @@ Methods
 +-------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+
 | void                          | :ref:`add_point<class_Line2D_method_add_point>` **(** :ref:`Vector2<class_Vector2>` position **)**                                            |
 +-------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+
+| void                          | :ref:`clear_points<class_Line2D_method_clear_points>` **(** **)**                                                                             |
++-------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`int<class_int>`         | :ref:`get_point_count<class_Line2D_method_get_point_count>` **(** **)** const                                                                 |
 +-------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`Vector2<class_Vector2>` | :ref:`get_point_position<class_Line2D_method_get_point_position>` **(** :ref:`int<class_int>` i **)** const                                   |
@@ -258,6 +260,12 @@ Method Descriptions
 
 Add a point at the ``position``. Appends the point at the end of the line.
 
+.. _class_Line2D_method_clear_points:
+
+- void **clear_points** **(** **)**
+
+Removes all points from the line.
+
 .. _class_Line2D_method_get_point_count:
 
 - :ref:`int<class_int>` **get_point_count** **(** **)** const

+ 19 - 17
classes/class_marshalls.rst

@@ -19,19 +19,19 @@ Data transformation (marshalling) and encoding helpers.
 Methods
 -------
 
-+-------------------------------------------+------------------------------------------------------------------------------------------------------------------------+
-| :ref:`PoolByteArray<class_PoolByteArray>` | :ref:`base64_to_raw<class_Marshalls_method_base64_to_raw>` **(** :ref:`String<class_String>` base64_str **)**          |
-+-------------------------------------------+------------------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_String>`               | :ref:`base64_to_utf8<class_Marshalls_method_base64_to_utf8>` **(** :ref:`String<class_String>` base64_str **)**        |
-+-------------------------------------------+------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Variant<class_Variant>`             | :ref:`base64_to_variant<class_Marshalls_method_base64_to_variant>` **(** :ref:`String<class_String>` base64_str **)**  |
-+-------------------------------------------+------------------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_String>`               | :ref:`raw_to_base64<class_Marshalls_method_raw_to_base64>` **(** :ref:`PoolByteArray<class_PoolByteArray>` array **)** |
-+-------------------------------------------+------------------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_String>`               | :ref:`utf8_to_base64<class_Marshalls_method_utf8_to_base64>` **(** :ref:`String<class_String>` utf8_str **)**          |
-+-------------------------------------------+------------------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_String>`               | :ref:`variant_to_base64<class_Marshalls_method_variant_to_base64>` **(** :ref:`Variant<class_Variant>` variant **)**   |
-+-------------------------------------------+------------------------------------------------------------------------------------------------------------------------+
++-------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`PoolByteArray<class_PoolByteArray>` | :ref:`base64_to_raw<class_Marshalls_method_base64_to_raw>` **(** :ref:`String<class_String>` base64_str **)**                                                      |
++-------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_String>`               | :ref:`base64_to_utf8<class_Marshalls_method_base64_to_utf8>` **(** :ref:`String<class_String>` base64_str **)**                                                    |
++-------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Variant<class_Variant>`             | :ref:`base64_to_variant<class_Marshalls_method_base64_to_variant>` **(** :ref:`String<class_String>` base64_str, :ref:`bool<class_bool>` allow_objects=false **)** |
++-------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_String>`               | :ref:`raw_to_base64<class_Marshalls_method_raw_to_base64>` **(** :ref:`PoolByteArray<class_PoolByteArray>` array **)**                                             |
++-------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_String>`               | :ref:`utf8_to_base64<class_Marshalls_method_utf8_to_base64>` **(** :ref:`String<class_String>` utf8_str **)**                                                      |
++-------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_String>`               | :ref:`variant_to_base64<class_Marshalls_method_variant_to_base64>` **(** :ref:`Variant<class_Variant>` variant, :ref:`bool<class_bool>` full_objects=false **)**   |
++-------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 
 Description
 -----------
@@ -55,9 +55,11 @@ Return utf8 String of a given base64 encoded String.
 
 .. _class_Marshalls_method_base64_to_variant:
 
-- :ref:`Variant<class_Variant>` **base64_to_variant** **(** :ref:`String<class_String>` base64_str **)**
+- :ref:`Variant<class_Variant>` **base64_to_variant** **(** :ref:`String<class_String>` base64_str, :ref:`bool<class_bool>` allow_objects=false **)**
 
-Return :ref:`Variant<class_Variant>` of a given base64 encoded String.
+Return :ref:`Variant<class_Variant>` of a given base64 encoded String. When ``allow_objects`` is ``true`` decoding objects is allowed.
+
+**WARNING:** Deserialized object can contain code which gets executed. Do not use this option if the serialized object comes from untrusted sources to avoid potential security threats (remote code execution).
 
 .. _class_Marshalls_method_raw_to_base64:
 
@@ -73,7 +75,7 @@ Return base64 encoded String of a given utf8 String.
 
 .. _class_Marshalls_method_variant_to_base64:
 
-- :ref:`String<class_String>` **variant_to_base64** **(** :ref:`Variant<class_Variant>` variant **)**
+- :ref:`String<class_String>` **variant_to_base64** **(** :ref:`Variant<class_Variant>` variant, :ref:`bool<class_bool>` full_objects=false **)**
 
-Return base64 encoded String of a given :ref:`Variant<class_Variant>`.
+Return base64 encoded String of a given :ref:`Variant<class_Variant>`. When ``full_objects`` is ``true`` encoding objects is allowed (and can potentially include code).
 

+ 23 - 1
classes/class_mobilevrinterface.rst

@@ -24,6 +24,8 @@ Properties
 +---------------------------+--------------------------------------------------------------------------+
 | :ref:`float<class_float>` | :ref:`display_width<class_MobileVRInterface_property_display_width>`     |
 +---------------------------+--------------------------------------------------------------------------+
+| :ref:`float<class_float>` | :ref:`eye_height<class_MobileVRInterface_property_eye_height>`           |
++---------------------------+--------------------------------------------------------------------------+
 | :ref:`float<class_float>` | :ref:`iod<class_MobileVRInterface_property_iod>`                         |
 +---------------------------+--------------------------------------------------------------------------+
 | :ref:`float<class_float>` | :ref:`k1<class_MobileVRInterface_property_k1>`                           |
@@ -38,7 +40,15 @@ Description
 
 This is a generic mobile VR implementation where you need to provide details about the phone and HMD used. It does not rely on any existing framework. This is the most basic interface we have. For the best effect you do need a mobile phone with a gyroscope and accelerometer.
 
-Note that even though there is no positional tracking the camera will assume the headset is at a height of 1.85 meters.
+Note that even though there is no positional tracking the camera will assume the headset is at a height of 1.85 meters, you can change this by setting :ref:`eye_height<class_MobileVRInterface_property_eye_height>`.
+
+You can initialise this interface as follows:
+
+::
+
+    var interface = ARVRServer.find_interface("Native mobile")
+    if interface and interface.initialize():
+        get_viewport().arvr = true
 
 Property Descriptions
 ---------------------
@@ -67,6 +77,18 @@ The distance between the display and the lenses inside of the device in centimet
 
 The width of the display in centimeters.
 
+.. _class_MobileVRInterface_property_eye_height:
+
+- :ref:`float<class_float>` **eye_height**
+
++----------+-----------------------+
+| *Setter* | set_eye_height(value) |
++----------+-----------------------+
+| *Getter* | get_eye_height()      |
++----------+-----------------------+
+
+The height at which the camera is placed in relation to the ground (i.e. :ref:`ARVROrigin<class_ARVROrigin>` node).
+
 .. _class_MobileVRInterface_property_iod:
 
 - :ref:`float<class_float>` **iod**

+ 23 - 11
classes/class_multimesh.rst

@@ -19,17 +19,19 @@ Provides high performance mesh instancing.
 Properties
 ----------
 
-+----------------------------------------------------------+------------------------------------------------------------------------+
-| :ref:`ColorFormat<enum_MultiMesh_ColorFormat>`           | :ref:`color_format<class_MultiMesh_property_color_format>`             |
-+----------------------------------------------------------+------------------------------------------------------------------------+
-| :ref:`CustomDataFormat<enum_MultiMesh_CustomDataFormat>` | :ref:`custom_data_format<class_MultiMesh_property_custom_data_format>` |
-+----------------------------------------------------------+------------------------------------------------------------------------+
-| :ref:`int<class_int>`                                    | :ref:`instance_count<class_MultiMesh_property_instance_count>`         |
-+----------------------------------------------------------+------------------------------------------------------------------------+
-| :ref:`Mesh<class_Mesh>`                                  | :ref:`mesh<class_MultiMesh_property_mesh>`                             |
-+----------------------------------------------------------+------------------------------------------------------------------------+
-| :ref:`TransformFormat<enum_MultiMesh_TransformFormat>`   | :ref:`transform_format<class_MultiMesh_property_transform_format>`     |
-+----------------------------------------------------------+------------------------------------------------------------------------+
++----------------------------------------------------------+--------------------------------------------------------------------------------+
+| :ref:`ColorFormat<enum_MultiMesh_ColorFormat>`           | :ref:`color_format<class_MultiMesh_property_color_format>`                     |
++----------------------------------------------------------+--------------------------------------------------------------------------------+
+| :ref:`CustomDataFormat<enum_MultiMesh_CustomDataFormat>` | :ref:`custom_data_format<class_MultiMesh_property_custom_data_format>`         |
++----------------------------------------------------------+--------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                                    | :ref:`instance_count<class_MultiMesh_property_instance_count>`                 |
++----------------------------------------------------------+--------------------------------------------------------------------------------+
+| :ref:`Mesh<class_Mesh>`                                  | :ref:`mesh<class_MultiMesh_property_mesh>`                                     |
++----------------------------------------------------------+--------------------------------------------------------------------------------+
+| :ref:`TransformFormat<enum_MultiMesh_TransformFormat>`   | :ref:`transform_format<class_MultiMesh_property_transform_format>`             |
++----------------------------------------------------------+--------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                                    | :ref:`visible_instance_count<class_MultiMesh_property_visible_instance_count>` |
++----------------------------------------------------------+--------------------------------------------------------------------------------+
 
 Methods
 -------
@@ -180,6 +182,16 @@ Mesh to be drawn.
 
 Format of transform used to transform mesh, either 2D or 3D.
 
+.. _class_MultiMesh_property_visible_instance_count:
+
+- :ref:`int<class_int>` **visible_instance_count**
+
++----------+-----------------------------------+
+| *Setter* | set_visible_instance_count(value) |
++----------+-----------------------------------+
+| *Getter* | get_visible_instance_count()      |
++----------+-----------------------------------+
+
 Method Descriptions
 -------------------
 

+ 16 - 0
classes/class_multiplayerapi.rst

@@ -19,6 +19,8 @@ High Level Multiplayer API.
 Properties
 ----------
 
++-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                                         | :ref:`allow_object_decoding<class_MultiplayerAPI_property_allow_object_decoding>`                   |
 +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------+
 | :ref:`NetworkedMultiplayerPeer<class_NetworkedMultiplayerPeer>` | :ref:`network_peer<class_MultiplayerAPI_property_network_peer>`                                     |
 +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------+
@@ -142,6 +144,20 @@ It is possible to override the MultiplayerAPI instance used by specific Nodes by
 Property Descriptions
 ---------------------
 
+.. _class_MultiplayerAPI_property_allow_object_decoding:
+
+- :ref:`bool<class_bool>` **allow_object_decoding**
+
++----------+----------------------------------+
+| *Setter* | set_allow_object_decoding(value) |
++----------+----------------------------------+
+| *Getter* | is_object_decoding_allowed()     |
++----------+----------------------------------+
+
+If ``true`` (or if the :ref:`network_peer<class_MultiplayerAPI_property_network_peer>` :ref:`PacketPeer.allow_object_decoding<class_PacketPeer_property_allow_object_decoding>` the MultiplayerAPI will allow encoding and decoding of object during RPCs/RSETs.
+
+**WARNING:** Deserialized object can contain code which gets executed. Do not use this option if the serialized object comes from untrusted sources to avoid potential security threats (remote code execution).
+
 .. _class_MultiplayerAPI_property_network_peer:
 
 - :ref:`NetworkedMultiplayerPeer<class_NetworkedMultiplayerPeer>` **network_peer**

+ 6 - 0
classes/class_node.rst

@@ -475,6 +475,10 @@ Corresponds to the NOTIFICATION_EXIT_TREE notification in :ref:`Object._notifica
 
 - :ref:`String<class_String>` **_get_configuration_warning** **(** **)** virtual
 
+The string returned from this method is displayed as a warning in the "Scene Dock" if the script that overrides it is a ``tool`` script.
+
+Returning an empty string produces no warning.
+
 .. _class_Node_method__input:
 
 - void **_input** **(** :ref:`InputEvent<class_InputEvent>` event **)** virtual
@@ -563,6 +567,8 @@ Setting "legible_unique_name" ``true`` creates child nodes with human-readable n
 
 Adds the node to a group. Groups are helpers to name and organize a subset of nodes, for example "enemies" or "collectables". A node can be in any number of groups. Nodes can be assigned a group at any time, but will not be added until they are inside the scene tree (see :ref:`is_inside_tree<class_Node_method_is_inside_tree>`). See notes in the description, and the group methods in :ref:`SceneTree<class_SceneTree>`.
 
+``persistent`` option is used when packing node to :ref:`PackedScene<class_PackedScene>` and saving to file. Non-persistent groups aren't stored.
+
 .. _class_Node_method_can_process:
 
 - :ref:`bool<class_bool>` **can_process** **(** **)** const

+ 25 - 17
classes/class_packetpeer.rst

@@ -28,19 +28,19 @@ Properties
 Methods
 -------
 
-+-------------------------------------------+--------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                     | :ref:`get_available_packet_count<class_PacketPeer_method_get_available_packet_count>` **(** **)** const            |
-+-------------------------------------------+--------------------------------------------------------------------------------------------------------------------+
-| :ref:`PoolByteArray<class_PoolByteArray>` | :ref:`get_packet<class_PacketPeer_method_get_packet>` **(** **)**                                                  |
-+-------------------------------------------+--------------------------------------------------------------------------------------------------------------------+
-| :ref:`Error<enum_@GlobalScope_Error>`     | :ref:`get_packet_error<class_PacketPeer_method_get_packet_error>` **(** **)** const                                |
-+-------------------------------------------+--------------------------------------------------------------------------------------------------------------------+
-| :ref:`Variant<class_Variant>`             | :ref:`get_var<class_PacketPeer_method_get_var>` **(** **)**                                                        |
-+-------------------------------------------+--------------------------------------------------------------------------------------------------------------------+
-| :ref:`Error<enum_@GlobalScope_Error>`     | :ref:`put_packet<class_PacketPeer_method_put_packet>` **(** :ref:`PoolByteArray<class_PoolByteArray>` buffer **)** |
-+-------------------------------------------+--------------------------------------------------------------------------------------------------------------------+
-| :ref:`Error<enum_@GlobalScope_Error>`     | :ref:`put_var<class_PacketPeer_method_put_var>` **(** :ref:`Variant<class_Variant>` var **)**                      |
-+-------------------------------------------+--------------------------------------------------------------------------------------------------------------------+
++-------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                     | :ref:`get_available_packet_count<class_PacketPeer_method_get_available_packet_count>` **(** **)** const                                   |
++-------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`PoolByteArray<class_PoolByteArray>` | :ref:`get_packet<class_PacketPeer_method_get_packet>` **(** **)**                                                                         |
++-------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Error<enum_@GlobalScope_Error>`     | :ref:`get_packet_error<class_PacketPeer_method_get_packet_error>` **(** **)** const                                                       |
++-------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Variant<class_Variant>`             | :ref:`get_var<class_PacketPeer_method_get_var>` **(** :ref:`bool<class_bool>` allow_objects=false **)**                                   |
++-------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Error<enum_@GlobalScope_Error>`     | :ref:`put_packet<class_PacketPeer_method_put_packet>` **(** :ref:`PoolByteArray<class_PoolByteArray>` buffer **)**                        |
++-------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Error<enum_@GlobalScope_Error>`     | :ref:`put_var<class_PacketPeer_method_put_var>` **(** :ref:`Variant<class_Variant>` var, :ref:`bool<class_bool>` full_objects=false **)** |
++-------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
 
 Description
 -----------
@@ -60,6 +60,12 @@ Property Descriptions
 | *Getter* | is_object_decoding_allowed()     |
 +----------+----------------------------------+
 
+Deprecated. Use ``get_var`` and ``put_var`` parameters instead.
+
+If ``true`` the PacketPeer will allow encoding and decoding of object via :ref:`get_var<class_PacketPeer_method_get_var>` and :ref:`put_var<class_PacketPeer_method_put_var>`.
+
+**WARNING:** Deserialized object can contain code which gets executed. Do not use this option if the serialized object comes from untrusted sources to avoid potential security threats (remote code execution).
+
 Method Descriptions
 -------------------
 
@@ -83,9 +89,11 @@ Return the error state of the last packet received (via :ref:`get_packet<class_P
 
 .. _class_PacketPeer_method_get_var:
 
-- :ref:`Variant<class_Variant>` **get_var** **(** **)**
+- :ref:`Variant<class_Variant>` **get_var** **(** :ref:`bool<class_bool>` allow_objects=false **)**
+
+Get a Variant. When ``allow_objects`` (or :ref:`allow_object_decoding<class_PacketPeer_property_allow_object_decoding>`) is ``true`` decoding objects is allowed.
 
-Get a Variant.
+**WARNING:** Deserialized object can contain code which gets executed. Do not use this option if the serialized object comes from untrusted sources to avoid potential security threats (remote code execution).
 
 .. _class_PacketPeer_method_put_packet:
 
@@ -95,7 +103,7 @@ Send a raw packet.
 
 .. _class_PacketPeer_method_put_var:
 
-- :ref:`Error<enum_@GlobalScope_Error>` **put_var** **(** :ref:`Variant<class_Variant>` var **)**
+- :ref:`Error<enum_@GlobalScope_Error>` **put_var** **(** :ref:`Variant<class_Variant>` var, :ref:`bool<class_bool>` full_objects=false **)**
 
-Send a Variant as a packet.
+Send a Variant as a packet. When ``full_objects`` (or :ref:`allow_object_decoding<class_PacketPeer_property_allow_object_decoding>`) is ``true`` encoding objects is allowed (and can potentially include code).
 

+ 2 - 0
classes/class_path2d.rst

@@ -28,6 +28,8 @@ Description
 
 Can have :ref:`PathFollow2D<class_PathFollow2D>` child-nodes moving along the :ref:`Curve2D<class_Curve2D>`. See :ref:`PathFollow2D<class_PathFollow2D>` for more information on this usage.
 
+Note that the path is considered as relative to the moved nodes (children of :ref:`PathFollow2D<class_PathFollow2D>`) - usually the curve should start with a zero vector (0, 0).
+
 Property Descriptions
 ---------------------
 

+ 1 - 1
classes/class_physicsserver.rst

@@ -598,7 +598,7 @@ enum **ShapeType**:
 
 - **SHAPE_CONCAVE_POLYGON** = **7** --- The :ref:`Shape<class_Shape>` is a :ref:`ConcavePolygonShape<class_ConcavePolygonShape>`.
 
-- **SHAPE_HEIGHTMAP** = **8** --- The :ref:`Shape<class_Shape>` is a HeightMapShape.
+- **SHAPE_HEIGHTMAP** = **8** --- The :ref:`Shape<class_Shape>` is a :ref:`HeightMapShape<class_HeightMapShape>`.
 
 - **SHAPE_CUSTOM** = **9** --- This constant is used internally by the engine. Any attempt to create this kind of shape results in an error.
 

+ 30 - 15
classes/class_randomnumbergenerator.rst

@@ -14,7 +14,7 @@ RandomNumberGenerator
 Brief Description
 -----------------
 
-A class for generation pseudo-random numbers.
+A class for generating pseudo-random numbers.
 
 Properties
 ----------
@@ -26,17 +26,24 @@ Properties
 Methods
 -------
 
-+---------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>` | :ref:`randf<class_RandomNumberGenerator_method_randf>` **(** **)**                                                                          |
-+---------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>` | :ref:`randf_range<class_RandomNumberGenerator_method_randf_range>` **(** :ref:`float<class_float>` from, :ref:`float<class_float>` to **)** |
-+---------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`     | :ref:`randi<class_RandomNumberGenerator_method_randi>` **(** **)**                                                                          |
-+---------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`     | :ref:`randi_range<class_RandomNumberGenerator_method_randi_range>` **(** :ref:`int<class_int>` from, :ref:`int<class_int>` to **)**         |
-+---------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
-| void                      | :ref:`randomize<class_RandomNumberGenerator_method_randomize>` **(** **)**                                                                  |
-+---------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
++---------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>` | :ref:`randf<class_RandomNumberGenerator_method_randf>` **(** **)**                                                                               |
++---------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>` | :ref:`randf_range<class_RandomNumberGenerator_method_randf_range>` **(** :ref:`float<class_float>` from, :ref:`float<class_float>` to **)**      |
++---------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>` | :ref:`randfn<class_RandomNumberGenerator_method_randfn>` **(** :ref:`float<class_float>` mean=0.0, :ref:`float<class_float>` deviation=1.0 **)** |
++---------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`     | :ref:`randi<class_RandomNumberGenerator_method_randi>` **(** **)**                                                                               |
++---------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`     | :ref:`randi_range<class_RandomNumberGenerator_method_randi_range>` **(** :ref:`int<class_int>` from, :ref:`int<class_int>` to **)**              |
++---------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                      | :ref:`randomize<class_RandomNumberGenerator_method_randomize>` **(** **)**                                                                       |
++---------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+
+
+Description
+-----------
+
+RandomNumberGenerator is a class for generating pseudo-random numbers. It currently uses PCG32. The underlying algorithm is an implementation detail. As a result, it should not be depended upon for reproducible random streams across Godot versions.
 
 Property Descriptions
 ---------------------
@@ -53,6 +60,8 @@ Property Descriptions
 
 The seed used by the random number generator. A given seed will give a reproducible sequence of pseudo-random numbers.
 
+**Note:** The RNG does not have an avalanche effect, and can output similar random streams given similar seeds. Consider using a hash function to improve your seed quality if they're sourced externally.
+
 Method Descriptions
 -------------------
 
@@ -60,19 +69,25 @@ Method Descriptions
 
 - :ref:`float<class_float>` **randf** **(** **)**
 
-Generates pseudo-random float between '0.0' and '1.0'.
+Generates pseudo-random float between '0.0' and '1.0', inclusive.
 
 .. _class_RandomNumberGenerator_method_randf_range:
 
 - :ref:`float<class_float>` **randf_range** **(** :ref:`float<class_float>` from, :ref:`float<class_float>` to **)**
 
-Generates pseudo-random float between ``from`` and ``to``.
+Generates pseudo-random float between ``from`` and ``to``, inclusive.
+
+.. _class_RandomNumberGenerator_method_randfn:
+
+- :ref:`float<class_float>` **randfn** **(** :ref:`float<class_float>` mean=0.0, :ref:`float<class_float>` deviation=1.0 **)**
+
+Generates normally(gaussian) distributed pseudo-random number, using Box-Muller transform with the specified ``mean`` and a standard ``deviation``.
 
 .. _class_RandomNumberGenerator_method_randi:
 
 - :ref:`int<class_int>` **randi** **(** **)**
 
-Generates pseudo-random 32-bit unsigned integer between '0' and '4294967295'.
+Generates pseudo-random 32-bit unsigned integer between '0' and '4294967295', inclusive.
 
 .. _class_RandomNumberGenerator_method_randi_range:
 

A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
classes/class_reference.rst


+ 1 - 1
classes/class_regex.rst

@@ -139,5 +139,5 @@ Searches the text for the compiled pattern. Returns an array of :ref:`RegExMatch
 
 - :ref:`String<class_String>` **sub** **(** :ref:`String<class_String>` subject, :ref:`String<class_String>` replacement, :ref:`bool<class_bool>` all=false, :ref:`int<class_int>` offset=0, :ref:`int<class_int>` end=-1 **)** const
 
-Searches the text for the compiled pattern and replaces it with the specified string. Escapes and backreferences such as ``\1`` and ``\g<name>`` expanded and resolved. By default only the first instance is replaced but it can be changed for all instances (global replacement). 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 and replaces it with the specified string. Escapes and backreferences such as ``$1`` and ``$name`` are expanded and resolved. By default only the first instance is replaced but it can be changed for all instances (global replacement). The region to search within can be specified without modifying where the start and end anchor would be.
 

+ 3 - 1
classes/class_rigidbody2d.rst

@@ -167,7 +167,9 @@ A RigidBody2D has 4 behavior :ref:`mode<class_RigidBody2D_property_mode>`\ s: Ri
 
 **Note:** You should not change a RigidBody2D's ``position`` or ``linear_velocity`` every frame or even very often. If you need to directly affect the body's state, use :ref:`_integrate_forces<class_RigidBody2D_method__integrate_forces>`, which allows you to directly access the physics state.
 
-If you need to override the default physics behavior, you can write a custom force integration. See :ref:`custom_integrator<class_RigidBody2D_property_custom_integrator>`.
+Please also keep in mind that physics bodies manage their own transform which overwrites the ones you set. So any direct or indirect transformation (including scaling of the node or its parent) will be visible in the editor only, and immediately reset at runtime.
+
+If you need to override the default physics behavior or add a transformation at runtime, you can write a custom force integration. See :ref:`custom_integrator<class_RigidBody2D_property_custom_integrator>`.
 
 Property Descriptions
 ---------------------

+ 2 - 0
classes/class_scenetree.rst

@@ -441,6 +441,8 @@ Commonly used to create a one-shot delay timer as in the following example:
 
 - :ref:`int<class_int>` **get_frame** **(** **)** const
 
+Returns the current frame, i.e. number of frames since the application started.
+
 .. _class_SceneTree_method_get_network_connected_peers:
 
 - :ref:`PoolIntArray<class_PoolIntArray>` **get_network_connected_peers** **(** **)** const

+ 1 - 1
classes/class_shape.rst

@@ -9,7 +9,7 @@ Shape
 
 **Inherits:** :ref:`Resource<class_Resource>` **<** :ref:`Reference<class_Reference>` **<** :ref:`Object<class_Object>`
 
-**Inherited By:** :ref:`BoxShape<class_BoxShape>`, :ref:`CapsuleShape<class_CapsuleShape>`, :ref:`ConcavePolygonShape<class_ConcavePolygonShape>`, :ref:`ConvexPolygonShape<class_ConvexPolygonShape>`, :ref:`CylinderShape<class_CylinderShape>`, :ref:`PlaneShape<class_PlaneShape>`, :ref:`RayShape<class_RayShape>`, :ref:`SphereShape<class_SphereShape>`
+**Inherited By:** :ref:`BoxShape<class_BoxShape>`, :ref:`CapsuleShape<class_CapsuleShape>`, :ref:`ConcavePolygonShape<class_ConcavePolygonShape>`, :ref:`ConvexPolygonShape<class_ConvexPolygonShape>`, :ref:`CylinderShape<class_CylinderShape>`, :ref:`HeightMapShape<class_HeightMapShape>`, :ref:`PlaneShape<class_PlaneShape>`, :ref:`RayShape<class_RayShape>`, :ref:`SphereShape<class_SphereShape>`
 
 **Category:** Core
 

+ 8 - 0
classes/class_slider.rst

@@ -51,6 +51,8 @@ Property Descriptions
 | *Getter* | is_editable()       |
 +----------+---------------------+
 
+If ``true``, the slider can be interacted with. If ``false``, the value can be changed only by code.
+
 .. _class_Slider_property_focus_mode:
 
 - :ref:`FocusMode<enum_Control_FocusMode>` **focus_mode**
@@ -71,6 +73,8 @@ Property Descriptions
 | *Getter* | is_scrollable()       |
 +----------+-----------------------+
 
+If ``true``, the value can be changed using the mouse wheel.
+
 .. _class_Slider_property_tick_count:
 
 - :ref:`int<class_int>` **tick_count**
@@ -81,6 +85,8 @@ Property Descriptions
 | *Getter* | get_ticks()      |
 +----------+------------------+
 
+Number of ticks displayed on the slider, including border ticks. Ticks are uniformly-distributed value markers.
+
 .. _class_Slider_property_ticks_on_borders:
 
 - :ref:`bool<class_bool>` **ticks_on_borders**
@@ -91,3 +97,5 @@ Property Descriptions
 | *Getter* | get_ticks_on_borders()      |
 +----------+-----------------------------+
 
+If ``true``, the slider will display ticks for minimum and maximum values.
+

+ 69 - 67
classes/class_streampeer.rst

@@ -28,69 +28,69 @@ Properties
 Methods
 -------
 
-+---------------------------------------+------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                 | :ref:`get_16<class_StreamPeer_method_get_16>` **(** **)**                                                                    |
-+---------------------------------------+------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                 | :ref:`get_32<class_StreamPeer_method_get_32>` **(** **)**                                                                    |
-+---------------------------------------+------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                 | :ref:`get_64<class_StreamPeer_method_get_64>` **(** **)**                                                                    |
-+---------------------------------------+------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                 | :ref:`get_8<class_StreamPeer_method_get_8>` **(** **)**                                                                      |
-+---------------------------------------+------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                 | :ref:`get_available_bytes<class_StreamPeer_method_get_available_bytes>` **(** **)** const                                    |
-+---------------------------------------+------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Array<class_Array>`             | :ref:`get_data<class_StreamPeer_method_get_data>` **(** :ref:`int<class_int>` bytes **)**                                    |
-+---------------------------------------+------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`             | :ref:`get_double<class_StreamPeer_method_get_double>` **(** **)**                                                            |
-+---------------------------------------+------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`             | :ref:`get_float<class_StreamPeer_method_get_float>` **(** **)**                                                              |
-+---------------------------------------+------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Array<class_Array>`             | :ref:`get_partial_data<class_StreamPeer_method_get_partial_data>` **(** :ref:`int<class_int>` bytes **)**                    |
-+---------------------------------------+------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_String>`           | :ref:`get_string<class_StreamPeer_method_get_string>` **(** :ref:`int<class_int>` bytes=-1 **)**                             |
-+---------------------------------------+------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                 | :ref:`get_u16<class_StreamPeer_method_get_u16>` **(** **)**                                                                  |
-+---------------------------------------+------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                 | :ref:`get_u32<class_StreamPeer_method_get_u32>` **(** **)**                                                                  |
-+---------------------------------------+------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                 | :ref:`get_u64<class_StreamPeer_method_get_u64>` **(** **)**                                                                  |
-+---------------------------------------+------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                 | :ref:`get_u8<class_StreamPeer_method_get_u8>` **(** **)**                                                                    |
-+---------------------------------------+------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_String>`           | :ref:`get_utf8_string<class_StreamPeer_method_get_utf8_string>` **(** :ref:`int<class_int>` bytes=-1 **)**                   |
-+---------------------------------------+------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Variant<class_Variant>`         | :ref:`get_var<class_StreamPeer_method_get_var>` **(** **)**                                                                  |
-+---------------------------------------+------------------------------------------------------------------------------------------------------------------------------+
-| void                                  | :ref:`put_16<class_StreamPeer_method_put_16>` **(** :ref:`int<class_int>` value **)**                                        |
-+---------------------------------------+------------------------------------------------------------------------------------------------------------------------------+
-| void                                  | :ref:`put_32<class_StreamPeer_method_put_32>` **(** :ref:`int<class_int>` value **)**                                        |
-+---------------------------------------+------------------------------------------------------------------------------------------------------------------------------+
-| void                                  | :ref:`put_64<class_StreamPeer_method_put_64>` **(** :ref:`int<class_int>` value **)**                                        |
-+---------------------------------------+------------------------------------------------------------------------------------------------------------------------------+
-| void                                  | :ref:`put_8<class_StreamPeer_method_put_8>` **(** :ref:`int<class_int>` value **)**                                          |
-+---------------------------------------+------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Error<enum_@GlobalScope_Error>` | :ref:`put_data<class_StreamPeer_method_put_data>` **(** :ref:`PoolByteArray<class_PoolByteArray>` data **)**                 |
-+---------------------------------------+------------------------------------------------------------------------------------------------------------------------------+
-| void                                  | :ref:`put_double<class_StreamPeer_method_put_double>` **(** :ref:`float<class_float>` value **)**                            |
-+---------------------------------------+------------------------------------------------------------------------------------------------------------------------------+
-| void                                  | :ref:`put_float<class_StreamPeer_method_put_float>` **(** :ref:`float<class_float>` value **)**                              |
-+---------------------------------------+------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Array<class_Array>`             | :ref:`put_partial_data<class_StreamPeer_method_put_partial_data>` **(** :ref:`PoolByteArray<class_PoolByteArray>` data **)** |
-+---------------------------------------+------------------------------------------------------------------------------------------------------------------------------+
-| void                                  | :ref:`put_string<class_StreamPeer_method_put_string>` **(** :ref:`String<class_String>` value **)**                          |
-+---------------------------------------+------------------------------------------------------------------------------------------------------------------------------+
-| void                                  | :ref:`put_u16<class_StreamPeer_method_put_u16>` **(** :ref:`int<class_int>` value **)**                                      |
-+---------------------------------------+------------------------------------------------------------------------------------------------------------------------------+
-| void                                  | :ref:`put_u32<class_StreamPeer_method_put_u32>` **(** :ref:`int<class_int>` value **)**                                      |
-+---------------------------------------+------------------------------------------------------------------------------------------------------------------------------+
-| void                                  | :ref:`put_u64<class_StreamPeer_method_put_u64>` **(** :ref:`int<class_int>` value **)**                                      |
-+---------------------------------------+------------------------------------------------------------------------------------------------------------------------------+
-| void                                  | :ref:`put_u8<class_StreamPeer_method_put_u8>` **(** :ref:`int<class_int>` value **)**                                        |
-+---------------------------------------+------------------------------------------------------------------------------------------------------------------------------+
-| void                                  | :ref:`put_utf8_string<class_StreamPeer_method_put_utf8_string>` **(** :ref:`String<class_String>` value **)**                |
-+---------------------------------------+------------------------------------------------------------------------------------------------------------------------------+
-| void                                  | :ref:`put_var<class_StreamPeer_method_put_var>` **(** :ref:`Variant<class_Variant>` value **)**                              |
-+---------------------------------------+------------------------------------------------------------------------------------------------------------------------------+
++---------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                 | :ref:`get_16<class_StreamPeer_method_get_16>` **(** **)**                                                                                   |
++---------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                 | :ref:`get_32<class_StreamPeer_method_get_32>` **(** **)**                                                                                   |
++---------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                 | :ref:`get_64<class_StreamPeer_method_get_64>` **(** **)**                                                                                   |
++---------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                 | :ref:`get_8<class_StreamPeer_method_get_8>` **(** **)**                                                                                     |
++---------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                 | :ref:`get_available_bytes<class_StreamPeer_method_get_available_bytes>` **(** **)** const                                                   |
++---------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Array<class_Array>`             | :ref:`get_data<class_StreamPeer_method_get_data>` **(** :ref:`int<class_int>` bytes **)**                                                   |
++---------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`             | :ref:`get_double<class_StreamPeer_method_get_double>` **(** **)**                                                                           |
++---------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`             | :ref:`get_float<class_StreamPeer_method_get_float>` **(** **)**                                                                             |
++---------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Array<class_Array>`             | :ref:`get_partial_data<class_StreamPeer_method_get_partial_data>` **(** :ref:`int<class_int>` bytes **)**                                   |
++---------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_String>`           | :ref:`get_string<class_StreamPeer_method_get_string>` **(** :ref:`int<class_int>` bytes=-1 **)**                                            |
++---------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                 | :ref:`get_u16<class_StreamPeer_method_get_u16>` **(** **)**                                                                                 |
++---------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                 | :ref:`get_u32<class_StreamPeer_method_get_u32>` **(** **)**                                                                                 |
++---------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                 | :ref:`get_u64<class_StreamPeer_method_get_u64>` **(** **)**                                                                                 |
++---------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                 | :ref:`get_u8<class_StreamPeer_method_get_u8>` **(** **)**                                                                                   |
++---------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_String>`           | :ref:`get_utf8_string<class_StreamPeer_method_get_utf8_string>` **(** :ref:`int<class_int>` bytes=-1 **)**                                  |
++---------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Variant<class_Variant>`         | :ref:`get_var<class_StreamPeer_method_get_var>` **(** :ref:`bool<class_bool>` allow_objects=false **)**                                     |
++---------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                  | :ref:`put_16<class_StreamPeer_method_put_16>` **(** :ref:`int<class_int>` value **)**                                                       |
++---------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                  | :ref:`put_32<class_StreamPeer_method_put_32>` **(** :ref:`int<class_int>` value **)**                                                       |
++---------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                  | :ref:`put_64<class_StreamPeer_method_put_64>` **(** :ref:`int<class_int>` value **)**                                                       |
++---------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                  | :ref:`put_8<class_StreamPeer_method_put_8>` **(** :ref:`int<class_int>` value **)**                                                         |
++---------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Error<enum_@GlobalScope_Error>` | :ref:`put_data<class_StreamPeer_method_put_data>` **(** :ref:`PoolByteArray<class_PoolByteArray>` data **)**                                |
++---------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                  | :ref:`put_double<class_StreamPeer_method_put_double>` **(** :ref:`float<class_float>` value **)**                                           |
++---------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                  | :ref:`put_float<class_StreamPeer_method_put_float>` **(** :ref:`float<class_float>` value **)**                                             |
++---------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Array<class_Array>`             | :ref:`put_partial_data<class_StreamPeer_method_put_partial_data>` **(** :ref:`PoolByteArray<class_PoolByteArray>` data **)**                |
++---------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                  | :ref:`put_string<class_StreamPeer_method_put_string>` **(** :ref:`String<class_String>` value **)**                                         |
++---------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                  | :ref:`put_u16<class_StreamPeer_method_put_u16>` **(** :ref:`int<class_int>` value **)**                                                     |
++---------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                  | :ref:`put_u32<class_StreamPeer_method_put_u32>` **(** :ref:`int<class_int>` value **)**                                                     |
++---------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                  | :ref:`put_u64<class_StreamPeer_method_put_u64>` **(** :ref:`int<class_int>` value **)**                                                     |
++---------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                  | :ref:`put_u8<class_StreamPeer_method_put_u8>` **(** :ref:`int<class_int>` value **)**                                                       |
++---------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                  | :ref:`put_utf8_string<class_StreamPeer_method_put_utf8_string>` **(** :ref:`String<class_String>` value **)**                               |
++---------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                  | :ref:`put_var<class_StreamPeer_method_put_var>` **(** :ref:`Variant<class_Variant>` value, :ref:`bool<class_bool>` full_objects=false **)** |
++---------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
 
 Description
 -----------
@@ -207,9 +207,11 @@ Get a utf8 string with byte-length ``bytes`` from the stream (this decodes the s
 
 .. _class_StreamPeer_method_get_var:
 
-- :ref:`Variant<class_Variant>` **get_var** **(** **)**
+- :ref:`Variant<class_Variant>` **get_var** **(** :ref:`bool<class_bool>` allow_objects=false **)**
 
-Get a Variant from the stream.
+Get a Variant from the stream. When ``allow_objects`` is ``true`` decoding objects is allowed.
+
+**WARNING:** Deserialized object can contain code which gets executed. Do not use this option if the serialized object comes from untrusted sources to avoid potential security threats (remote code execution).
 
 .. _class_StreamPeer_method_put_16:
 
@@ -297,7 +299,7 @@ Put a zero-terminated utf8 string into the stream prepended by a 32 bits unsigne
 
 .. _class_StreamPeer_method_put_var:
 
-- void **put_var** **(** :ref:`Variant<class_Variant>` value **)**
+- void **put_var** **(** :ref:`Variant<class_Variant>` value, :ref:`bool<class_bool>` full_objects=false **)**
 
-Put a Variant into the stream.
+Put a Variant into the stream. When ``full_objects`` is ``true`` encoding objects is allowed (and can potentially include code).
 

+ 3 - 1
classes/class_textedit.rst

@@ -491,7 +491,7 @@ String value of the :ref:`TextEdit<class_TextEdit>`.
 | *Getter* | get_v_scroll_speed()      |
 +----------+---------------------------+
 
-If ``true``, enables text wrapping when it goes beyond he edge of what is visible.
+Vertical scroll sensitivity.
 
 .. _class_TextEdit_property_wrap_enabled:
 
@@ -503,6 +503,8 @@ If ``true``, enables text wrapping when it goes beyond he edge of what is visibl
 | *Getter* | is_wrap_enabled()       |
 +----------+-------------------------+
 
+If ``true``, enables text wrapping when it goes beyond the edge of what is visible.
+
 Method Descriptions
 -------------------
 

+ 2 - 2
classes/class_transform.rst

@@ -73,9 +73,9 @@ Constants
 
 - **FLIP_X** = **Transform( -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 )**
 
-- **FLIP_Y** = **Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 )**
+- **FLIP_Y** = **Transform( 1, 0, 0, 0, -1, 0, 0, 0, 1, 0, 0, 0 )**
 
-- **FLIP_Z** = **Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 )**
+- **FLIP_Z** = **Transform( 1, 0, 0, 0, 1, 0, 0, 0, -1, 0, 0, 0 )**
 
 Description
 -----------

+ 6 - 0
classes/class_tween.rst

@@ -79,6 +79,12 @@ Methods
 Signals
 -------
 
+.. _class_Tween_signal_tween_all_completed:
+
+- **tween_all_completed** **(** **)**
+
+Emitted when all processes in a tween end.
+
 .. _class_Tween_signal_tween_completed:
 
 - **tween_completed** **(** :ref:`Object<class_Object>` object, :ref:`NodePath<class_NodePath>` key **)**

+ 9 - 1
classes/class_vector2.rst

@@ -49,6 +49,8 @@ Methods
 +-------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`Vector2<class_Vector2>` | :ref:`cubic_interpolate<class_Vector2_method_cubic_interpolate>` **(** :ref:`Vector2<class_Vector2>` b, :ref:`Vector2<class_Vector2>` pre_a, :ref:`Vector2<class_Vector2>` post_b, :ref:`float<class_float>` t **)** |
 +-------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Vector2<class_Vector2>` | :ref:`direction_to<class_Vector2_method_direction_to>` **(** :ref:`Vector2<class_Vector2>` b **)**                                                                                                                   |
++-------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`float<class_float>`     | :ref:`distance_squared_to<class_Vector2_method_distance_squared_to>` **(** :ref:`Vector2<class_Vector2>` to **)**                                                                                                    |
 +-------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`float<class_float>`     | :ref:`distance_to<class_Vector2_method_distance_to>` **(** :ref:`Vector2<class_Vector2>` to **)**                                                                                                                    |
@@ -211,6 +213,12 @@ Returns the 2 dimensional analog of the cross product with the given vector.
 
 Cubicly interpolates between this vector and ``b`` using ``pre_a`` and ``post_b`` as handles, and returns the result at position ``t``. ``t`` is in the range of ``0.0 - 1.0``, representing the amount of interpolation.
 
+.. _class_Vector2_method_direction_to:
+
+- :ref:`Vector2<class_Vector2>` **direction_to** **(** :ref:`Vector2<class_Vector2>` b **)**
+
+Returns the normalized vector pointing from this vector to ``b``.
+
 .. _class_Vector2_method_distance_squared_to:
 
 - :ref:`float<class_float>` **distance_squared_to** **(** :ref:`Vector2<class_Vector2>` to **)**
@@ -281,7 +289,7 @@ Returns the vector reflected from a plane defined by the given normal.
 
 - :ref:`Vector2<class_Vector2>` **rotated** **(** :ref:`float<class_float>` phi **)**
 
-Returns the vector rotated by ``phi`` radians.
+Returns the vector rotated by ``phi`` radians. See also :ref:`@GDScript.deg2rad<class_@GDScript_method_deg2rad>`.
 
 .. _class_Vector2_method_round:
 

+ 8 - 0
classes/class_vector3.rst

@@ -43,6 +43,8 @@ Methods
 +-------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`Vector3<class_Vector3>` | :ref:`cubic_interpolate<class_Vector3_method_cubic_interpolate>` **(** :ref:`Vector3<class_Vector3>` b, :ref:`Vector3<class_Vector3>` pre_a, :ref:`Vector3<class_Vector3>` post_b, :ref:`float<class_float>` t **)** |
 +-------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Vector3<class_Vector3>` | :ref:`direction_to<class_Vector3_method_direction_to>` **(** :ref:`Vector3<class_Vector3>` b **)**                                                                                                                   |
++-------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`float<class_float>`     | :ref:`distance_squared_to<class_Vector3_method_distance_squared_to>` **(** :ref:`Vector3<class_Vector3>` b **)**                                                                                                     |
 +-------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`float<class_float>`     | :ref:`distance_to<class_Vector3_method_distance_to>` **(** :ref:`Vector3<class_Vector3>` b **)**                                                                                                                     |
@@ -213,6 +215,12 @@ Returns the cross product with ``b``.
 
 Performs a cubic interpolation between vectors ``pre_a``, ``a``, ``b``, ``post_b`` (``a`` is current), by the given amount ``t``. ``t`` is in the range of ``0.0 - 1.0``, representing the amount of interpolation.
 
+.. _class_Vector3_method_direction_to:
+
+- :ref:`Vector3<class_Vector3>` **direction_to** **(** :ref:`Vector3<class_Vector3>` b **)**
+
+Returns the normalized vector pointing from this vector to ``b``.
+
 .. _class_Vector3_method_distance_squared_to:
 
 - :ref:`float<class_float>` **distance_squared_to** **(** :ref:`Vector3<class_Vector3>` b **)**

+ 2 - 0
classes/class_visibilitynotifier.rst

@@ -88,3 +88,5 @@ Method Descriptions
 
 If ``true``, the bounding box is on the screen.
 
+Note: It takes one frame for the node's visibility to be assessed once added to the scene tree, so this method will return ``false`` right after it is instantiated, even if it will be on screen in the draw pass.
+

+ 2 - 0
classes/class_visibilitynotifier2d.rst

@@ -88,3 +88,5 @@ Method Descriptions
 
 If ``true``, the bounding rectangle is on the screen.
 
+Note: It takes one frame for the node's visibility to be assessed once added to the scene tree, so this method will return ``false`` right after it is instantiated, even if it will be on screen in the draw pass.
+

+ 12 - 0
classes/class_visualinstance.rst

@@ -31,6 +31,10 @@ Methods
 +-------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`AABB<class_AABB>` | :ref:`get_aabb<class_VisualInstance_method_get_aabb>` **(** **)** const                                                                            |
 +-------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`RID<class_RID>`   | :ref:`get_base<class_VisualInstance_method_get_base>` **(** **)** const                                                                            |
++-------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`RID<class_RID>`   | :ref:`get_instance<class_VisualInstance_method_get_instance>` **(** **)** const                                                                    |
++-------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`bool<class_bool>` | :ref:`get_layer_mask_bit<class_VisualInstance_method_get_layer_mask_bit>` **(** :ref:`int<class_int>` layer **)** const                            |
 +-------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`AABB<class_AABB>` | :ref:`get_transformed_aabb<class_VisualInstance_method_get_transformed_aabb>` **(** **)** const                                                    |
@@ -66,6 +70,14 @@ Method Descriptions
 
 Returns the :ref:`AABB<class_AABB>` (also known as the bounding box) for this VisualInstance.
 
+.. _class_VisualInstance_method_get_base:
+
+- :ref:`RID<class_RID>` **get_base** **(** **)** const
+
+.. _class_VisualInstance_method_get_instance:
+
+- :ref:`RID<class_RID>` **get_instance** **(** **)** const
+
 .. _class_VisualInstance_method_get_layer_mask_bit:
 
 - :ref:`bool<class_bool>` **get_layer_mask_bit** **(** :ref:`int<class_int>` layer **)** const

+ 10 - 1
classes/class_visualscriptbuiltinfunc.rst

@@ -154,6 +154,8 @@ Enumerations
 
 .. _class_VisualScriptBuiltinFunc_constant_COLORN:
 
+.. _class_VisualScriptBuiltinFunc_constant_MATH_SMOOTHSTEP:
+
 .. _class_VisualScriptBuiltinFunc_constant_FUNC_MAX:
 
 enum **BuiltinFunc**:
@@ -284,7 +286,14 @@ enum **BuiltinFunc**:
 
 - **COLORN** = **62** --- Return the :ref:`Color<class_Color>` with the given name and alpha ranging from 0 to 1. Note: names are defined in color_names.inc.
 
-- **FUNC_MAX** = **63** --- The maximum value the :ref:`function<class_VisualScriptBuiltinFunc_property_function>` property can have.
+- **MATH_SMOOTHSTEP** = **63** --- Return a number smoothly interpolated between the first two inputs, based on the third input. Similar to ``MATH_LERP``, but interpolates faster at the beginning and slower at the end. Using Hermite interpolation formula:
+
+::
+
+    var t = clamp((weight - from) / (to - from), 0.0, 1.0)
+    return t * t * (3.0 - 2.0 * t)
+
+- **FUNC_MAX** = **64** --- The maximum value the :ref:`function<class_VisualScriptBuiltinFunc_property_function>` property can have.
 
 Description
 -----------

+ 1 - 1
classes/class_vslider.rst

@@ -42,5 +42,5 @@ Theme Properties
 Description
 -----------
 
-Vertical slider. See :ref:`Slider<class_Slider>`. This one goes from left (min) to right (max).
+Vertical slider. See :ref:`Slider<class_Slider>`. This one goes from bottom (min) to top (max).
 

+ 1 - 1
classes/class_vsplitcontainer.rst

@@ -32,5 +32,5 @@ Theme Properties
 Description
 -----------
 
-Vertical split container. See :ref:`SplitContainer<class_SplitContainer>`. This goes from left to right.
+Vertical split container. See :ref:`SplitContainer<class_SplitContainer>`. This goes from top to bottom.
 

+ 2 - 0
classes/class_ysort.rst

@@ -28,6 +28,8 @@ Description
 
 Sort all child nodes based on their Y positions. The child node must inherit from :ref:`CanvasItem<class_CanvasItem>` for it to be sorted. Nodes that have a higher Y position will be drawn later, so they will appear on top of nodes that have a lower Y position.
 
+Nesting of YSort nodes is possible. Children YSort nodes will be sorted in the same space as the parent YSort, allowing to better organize a scene or divide it in multiple ones, yet keep the unique sorting.
+
 Property Descriptions
 ---------------------
 

Algúns arquivos non se mostraron porque demasiados arquivos cambiaron neste cambio