瀏覽代碼

Sync classref with current source

Rémi Verschelde 6 年之前
父節點
當前提交
b3b3634af6
共有 100 個文件被更改,包括 1607 次插入536 次删除
  1. 23 7
      classes/[email protected]
  2. 10 10
      classes/class_animatedsprite.rst
  3. 1 1
      classes/class_animatedsprite3d.rst
  4. 1 1
      classes/class_animation.rst
  5. 4 4
      classes/class_animationnode.rst
  6. 2 2
      classes/class_animationnodeblendspace2d.rst
  7. 7 2
      classes/class_animationnodestatemachine.rst
  8. 2 0
      classes/class_animationnodestatemachineplayback.rst
  9. 15 3
      classes/class_animationnodestatemachinetransition.rst
  10. 1 1
      classes/class_animationplayer.rst
  11. 7 0
      classes/class_animationtree.rst
  12. 3 3
      classes/class_array.rst
  13. 18 1
      classes/class_arvranchor.rst
  14. 14 0
      classes/class_arvrcontroller.rst
  15. 1 1
      classes/class_arvrinterface.rst
  16. 8 0
      classes/class_arvrpositionaltracker.rst
  17. 1 1
      classes/class_arvrserver.rst
  18. 16 0
      classes/class_astar.rst
  19. 1 1
      classes/class_audioeffect.rst
  20. 20 0
      classes/class_audioeffectinstance.rst
  21. 93 0
      classes/class_audioeffectspectrumanalyzer.rst
  22. 47 0
      classes/class_audioeffectspectrumanalyzerinstance.rst
  23. 87 81
      classes/class_audioserver.rst
  24. 1 1
      classes/class_audiostream.rst
  25. 50 0
      classes/class_audiostreamgenerator.rst
  26. 62 0
      classes/class_audiostreamgeneratorplayback.rst
  27. 2 0
      classes/class_audiostreamplayback.rst
  28. 20 0
      classes/class_audiostreamplaybackresampled.rst
  29. 15 9
      classes/class_audiostreamplayer.rst
  30. 15 9
      classes/class_audiostreamplayer2d.rst
  31. 20 10
      classes/class_audiostreamplayer3d.rst
  32. 2 2
      classes/class_basebutton.rst
  33. 12 0
      classes/class_basis.rst
  34. 3 3
      classes/class_bitmap.rst
  35. 3 3
      classes/class_bool.rst
  36. 52 30
      classes/class_camera.rst
  37. 3 3
      classes/class_canvasitem.rst
  38. 39 15
      classes/class_canvaslayer.rst
  39. 4 4
      classes/class_classdb.rst
  40. 1 1
      classes/class_collisionobject.rst
  41. 1 1
      classes/class_collisionpolygon.rst
  42. 1 1
      classes/class_control.rst
  43. 1 1
      classes/class_csgbox.rst
  44. 1 1
      classes/class_csgcombiner.rst
  45. 3 3
      classes/class_csgcylinder.rst
  46. 16 4
      classes/class_csgmesh.rst
  47. 4 4
      classes/class_csgpolygon.rst
  48. 1 1
      classes/class_csgprimitive.rst
  49. 2 2
      classes/class_csgshape.rst
  50. 2 2
      classes/class_csgsphere.rst
  51. 2 2
      classes/class_csgtorus.rst
  52. 1 1
      classes/class_curve2d.rst
  53. 1 1
      classes/class_curve3d.rst
  54. 3 3
      classes/class_dictionary.rst
  55. 7 0
      classes/class_dynamicfont.rst
  56. 131 0
      classes/class_editorfeatureprofile.rst
  57. 1 1
      classes/class_editorfilesystem.rst
  58. 34 1
      classes/class_editorinspectorplugin.rst
  59. 6 0
      classes/class_editorinterface.rst
  60. 2 2
      classes/class_editorplugin.rst
  61. 60 1
      classes/class_editorproperty.rst
  62. 2 0
      classes/class_editorsceneimporter.rst
  63. 46 0
      classes/class_editorsceneimporterassimp.rst
  64. 1 1
      classes/class_editorspatialgizmo.rst
  65. 2 2
      classes/class_editorspatialgizmoplugin.rst
  66. 1 1
      classes/class_environment.rst
  67. 115 97
      classes/class_file.rst
  68. 1 1
      classes/class_geometryinstance.rst
  69. 1 1
      classes/class_graphedit.rst
  70. 2 2
      classes/class_graphnode.rst
  71. 73 0
      classes/class_heightmapshape.rst
  72. 2 2
      classes/class_httpclient.rst
  73. 2 2
      classes/class_image.rst
  74. 92 86
      classes/class_input.rst
  75. 1 1
      classes/class_inputeventjoypadbutton.rst
  76. 1 1
      classes/class_inputeventjoypadmotion.rst
  77. 1 1
      classes/class_inputeventkey.rst
  78. 1 1
      classes/class_inputeventmouse.rst
  79. 1 1
      classes/class_inputeventmousebutton.rst
  80. 1 1
      classes/class_itemlist.rst
  81. 2 2
      classes/class_kinematicbody.rst
  82. 2 2
      classes/class_kinematicbody2d.rst
  83. 1 1
      classes/class_label.rst
  84. 8 0
      classes/class_line2d.rst
  85. 2 2
      classes/class_lineedit.rst
  86. 12 12
      classes/class_mainloop.rst
  87. 19 17
      classes/class_marshalls.rst
  88. 1 1
      classes/class_meshinstance.rst
  89. 45 33
      classes/class_meshlibrary.rst
  90. 73 0
      classes/class_meshtexture.rst
  91. 23 1
      classes/class_mobilevrinterface.rst
  92. 23 11
      classes/class_multimesh.rst
  93. 16 0
      classes/class_multiplayerapi.rst
  94. 1 1
      classes/class_networkedmultiplayerenet.rst
  95. 54 4
      classes/class_node.rst
  96. 2 2
      classes/class_node2d.rst
  97. 2 2
      classes/class_nodepath.rst
  98. 1 1
      classes/class_noisetexture.rst
  99. 2 2
      classes/class_object.rst
  100. 6 0
      classes/class_opensimplexnoise.rst

+ 23 - 7
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 **)**                                                                                                                                           |
 +-----------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
@@ -287,7 +289,7 @@ Returns the arc sine of ``s`` in radians. Use to get the angle of sine ``s``.
 
 - void **assert** **(** :ref:`bool<class_bool>` condition **)**
 
-Assert that the ``condition`` is true. If the ``condition`` is false a fatal error is generated and the program is halted. Useful for debugging to make sure a value is always true.
+Assert that the ``condition`` is ``true`` . If the ``condition`` is ``false`` a fatal error is generated and the program is halted. Useful for debugging to make sure a value is always ``true``.
 
 ::
 
@@ -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.
+
+::
+
+    smoothstep(0, 2, 0.5) # returns 0.15
+    smoothstep(0, 2, 1.0) # returns 0.5
+    smoothstep(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:
 

+ 10 - 10
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
 -------
@@ -180,13 +180,13 @@ Method Descriptions
 
 - :ref:`bool<class_bool>` **is_playing** **(** **)** const
 
-Return true if an animation if currently being played.
+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:
 

+ 1 - 1
classes/class_animatedsprite3d.rst

@@ -106,7 +106,7 @@ Method Descriptions
 
 - :ref:`bool<class_bool>` **is_playing** **(** **)** const
 
-Return true if an animation if currently being played.
+Return ``true`` if an animation if currently being played.
 
 .. _class_AnimatedSprite3D_method_play:
 

+ 1 - 1
classes/class_animation.rst

@@ -478,7 +478,7 @@ Returns ``true`` if the track at index ``idx`` is enabled.
 
 - :ref:`bool<class_bool>` **track_is_imported** **(** :ref:`int<class_int>` idx **)** const
 
-Return true if the given track is imported. Else, return false.
+Return ``true`` if the given track is imported. Else, return ``false``.
 
 .. _class_Animation_method_track_move_down:
 

+ 4 - 4
classes/class_animationnode.rst

@@ -143,7 +143,7 @@ Blend an animation by "blend" amount (name must be valid in the linked :ref:`Ani
 
 - :ref:`float<class_float>` **blend_input** **(** :ref:`int<class_int>` input_index, :ref:`float<class_float>` time, :ref:`bool<class_bool>` seek, :ref:`float<class_float>` blend, :ref:`FilterAction<enum_AnimationNode_FilterAction>` filter=0, :ref:`bool<class_bool>` optimize=true **)**
 
-Blend an input. This is only useful for nodes created for an :ref:`AnimationNodeBlendTree<class_AnimationNodeBlendTree>`. Time is a delta, unless "seek" is true, in which case it is absolute. A filter mode may be optionally passed.
+Blend an input. This is only useful for nodes created for an :ref:`AnimationNodeBlendTree<class_AnimationNodeBlendTree>`. Time is a delta, unless "seek" is ``true``, in which case it is absolute. A filter mode may be optionally passed.
 
 .. _class_AnimationNode_method_blend_node:
 
@@ -203,19 +203,19 @@ Get the property information for parameter. Parameters are custom local memory u
 
 - :ref:`String<class_String>` **has_filter** **(** **)** virtual
 
-Return true whether you want the blend tree editor to display filter editing on this node.
+Return ``true`` whether you want the blend tree editor to display filter editing on this node.
 
 .. _class_AnimationNode_method_is_path_filtered:
 
 - :ref:`bool<class_bool>` **is_path_filtered** **(** :ref:`NodePath<class_NodePath>` path **)** const
 
-Return true wether a given path is filtered.
+Return ``true`` wether a given path is filtered.
 
 .. _class_AnimationNode_method_process:
 
 - void **process** **(** :ref:`float<class_float>` time, :ref:`bool<class_bool>` seek **)** virtual
 
-Called when a custom node is processed. The argument "time" is relative, unless "seek" is true (in which case it is absolute).
+Called when a custom node is processed. The argument "time" is relative, unless "seek" is ``true`` (in which case it is absolute).
 
 Here, call the :ref:`blend_input<class_AnimationNode_method_blend_input>`, :ref:`blend_node<class_AnimationNode_method_blend_node>` or :ref:`blend_animation<class_AnimationNode_method_blend_animation>` functions.
 

+ 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
 ---------------------

+ 7 - 2
classes/class_animationnodestatemachine.rst

@@ -58,13 +58,18 @@ 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
+-----------
+
+
+
 Method Descriptions
 -------------------
 
@@ -146,7 +151,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.
+

+ 1 - 1
classes/class_animationplayer.rst

@@ -354,7 +354,7 @@ Returns ``true`` if playing an animation.
 
 - void **play** **(** :ref:`String<class_String>` name="", :ref:`float<class_float>` custom_blend=-1, :ref:`float<class_float>` custom_speed=1.0, :ref:`bool<class_bool>` from_end=false **)**
 
-Play the animation with key ``name``. Custom speed and blend times can be set. If custom speed is negative (-1), 'from_end' being true can play the animation backwards.
+Play the animation with key ``name``. Custom speed and blend times can be set. If custom speed is negative (-1), 'from_end' being ``true`` can play the animation backwards.
 
 If the animation has been paused by ``stop(true)`` it will be resumed. Calling ``play()`` without arguments will also resume the animation.
 

+ 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
 ---------------------
 

+ 3 - 3
classes/class_array.rst

@@ -156,13 +156,13 @@ Returns the last element of the array if the array is not empty.
 
 - :ref:`int<class_int>` **bsearch** **(** :ref:`Variant<class_Variant>` value, :ref:`bool<class_bool>` before=True **)**
 
-Finds the index of an existing value (or the insertion index that maintains sorting order, if the value is not yet present in the array) using binary search. Optionally, a before specifier can be passed. If false, the returned index comes after all existing entries of the value in the array. Note that calling bsearch on an unsorted array results in unexpected behavior.
+Finds the index of an existing value (or the insertion index that maintains sorting order, if the value is not yet present in the array) using binary search. Optionally, a before specifier can be passed. If ``false``, the returned index comes after all existing entries of the value in the array. Note that calling bsearch on an unsorted array results in unexpected behavior.
 
 .. _class_Array_method_bsearch_custom:
 
 - :ref:`int<class_int>` **bsearch_custom** **(** :ref:`Variant<class_Variant>` value, :ref:`Object<class_Object>` obj, :ref:`String<class_String>` func, :ref:`bool<class_bool>` before=True **)**
 
-Finds the index of an existing value (or the insertion index that maintains sorting order, if the value is not yet present in the array) using binary search and a custom comparison method. Optionally, a before specifier can be passed. If false, the returned index comes after all existing entries of the value in the array. The custom method receives two arguments (an element from the array and the value searched for) and must return true if the first argument is less than the second, and return false otherwise. Note that calling bsearch on an unsorted array results in unexpected behavior.
+Finds the index of an existing value (or the insertion index that maintains sorting order, if the value is not yet present in the array) using binary search and a custom comparison method. Optionally, a before specifier can be passed. If ``false``, the returned index comes after all existing entries of the value in the array. The custom method receives two arguments (an element from the array and the value searched for) and must return ``true`` if the first argument is less than the second, and return ``false`` otherwise. Note that calling bsearch on an unsorted array results in unexpected behavior.
 
 .. _class_Array_method_clear:
 
@@ -321,7 +321,7 @@ Sorts the array. Note: strings are sorted in alphabetical, not natural order.
 
 - void **sort_custom** **(** :ref:`Object<class_Object>` obj, :ref:`String<class_String>` func **)**
 
-Sorts the array using a custom method. The arguments are an object that holds the method and the name of such method. The custom method receives two arguments (a pair of elements from the array) and must return true if the first argument is less than the second, and return false otherwise.
+Sorts the array using a custom method. The arguments are an object that holds the method and the name of such method. The custom method receives two arguments (a pair of elements from the array) and must return ``true`` if the first argument is less than the second, and return ``false`` otherwise.
 
 **Note:** you cannot randomize the return value as the heapsort algorithm expects a deterministic result. Doing so will result in unexpected behavior.
 

+ 18 - 1
classes/class_arvranchor.rst

@@ -31,11 +31,22 @@ Methods
 +-------------------------------+-----------------------------------------------------------------------------------+
 | :ref:`bool<class_bool>`       | :ref:`get_is_active<class_ARVRAnchor_method_get_is_active>` **(** **)** const     |
 +-------------------------------+-----------------------------------------------------------------------------------+
+| :ref:`Mesh<class_Mesh>`       | :ref:`get_mesh<class_ARVRAnchor_method_get_mesh>` **(** **)** const               |
++-------------------------------+-----------------------------------------------------------------------------------+
 | :ref:`Plane<class_Plane>`     | :ref:`get_plane<class_ARVRAnchor_method_get_plane>` **(** **)** const             |
 +-------------------------------+-----------------------------------------------------------------------------------+
 | :ref:`Vector3<class_Vector3>` | :ref:`get_size<class_ARVRAnchor_method_get_size>` **(** **)** const               |
 +-------------------------------+-----------------------------------------------------------------------------------+
 
+Signals
+-------
+
+.. _class_ARVRAnchor_signal_mesh_updated:
+
+- **mesh_updated** **(** :ref:`Mesh<class_Mesh>` mesh **)**
+
+Emitted when the mesh associated with the anchor changes or when one becomes available. This is especially important for topology that is constantly being mesh_updated.
+
 Description
 -----------
 
@@ -73,7 +84,13 @@ Returns the name given to this anchor.
 
 - :ref:`bool<class_bool>` **get_is_active** **(** **)** const
 
-Returns true if the anchor is being tracked and false if no anchor with this id is currently known.
+Returns ``true`` if the anchor is being tracked and ``false`` if no anchor with this id is currently known.
+
+.. _class_ARVRAnchor_method_get_mesh:
+
+- :ref:`Mesh<class_Mesh>` **get_mesh** **(** **)** const
+
+If provided by the ARVR Interface this returns a mesh object for the anchor. For an anchor this can be a shape related to the object being tracked or it can be a mesh that provides topology related to the anchor and can be used to create shadows/reflections on surfaces or for generating collision shapes.
 
 .. _class_ARVRAnchor_method_get_plane:
 

+ 14 - 0
classes/class_arvrcontroller.rst

@@ -39,6 +39,8 @@ Methods
 +------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+
 | :ref:`int<class_int>`                                      | :ref:`get_joystick_id<class_ARVRController_method_get_joystick_id>` **(** **)** const                                  |
 +------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Mesh<class_Mesh>`                                    | :ref:`get_mesh<class_ARVRController_method_get_mesh>` **(** **)** const                                                |
++------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+
 | :ref:`int<class_int>`                                      | :ref:`is_button_pressed<class_ARVRController_method_is_button_pressed>` **(** :ref:`int<class_int>` button **)** const |
 +------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+
 
@@ -57,6 +59,12 @@ Emitted when a button on this controller is pressed.
 
 Emitted when a button on this controller is released.
 
+.. _class_ARVRController_signal_mesh_updated:
+
+- **mesh_updated** **(** :ref:`Mesh<class_Mesh>` mesh **)**
+
+Emitted when the mesh associated with the controller changes or when one becomes available. Generally speaking this will be a static mesh after becoming available.
+
 Description
 -----------
 
@@ -132,6 +140,12 @@ Returns the value of the given axis for things like triggers, touchpads, etc. th
 
 Returns the ID of the joystick object bound to this. Every controller tracked by the ARVR Server that has buttons and axis will also be registered as a joystick within Godot. This means that all the normal joystick tracking and input mapping will work for buttons and axis found on the AR/VR controllers. This ID is purely offered as information so you can link up the controller with its joystick entry.
 
+.. _class_ARVRController_method_get_mesh:
+
+- :ref:`Mesh<class_Mesh>` **get_mesh** **(** **)** const
+
+If provided by the ARVR Interface this returns a mesh associated with the controller. This can be used to visualise the controller.
+
 .. _class_ARVRController_method_is_button_pressed:
 
 - :ref:`int<class_int>` **is_button_pressed** **(** :ref:`int<class_int>` button **)** const

+ 1 - 1
classes/class_arvrinterface.rst

@@ -206,7 +206,7 @@ While currently not used you can activate additional interfaces, you may wish to
 
 - :ref:`bool<class_bool>` **is_stereo** **(** **)**
 
-Returns true if the current output of this interface is in stereo.
+Returns ``true`` if the current output of this interface is in stereo.
 
 .. _class_ARVRInterface_method_uninitialize:
 

+ 8 - 0
classes/class_arvrpositionaltracker.rst

@@ -31,6 +31,8 @@ Methods
 +------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`int<class_int>`                                      | :ref:`get_joy_id<class_ARVRPositionalTracker_method_get_joy_id>` **(** **)** const                                                         |
 +------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Mesh<class_Mesh>`                                    | :ref:`get_mesh<class_ARVRPositionalTracker_method_get_mesh>` **(** **)** const                                                             |
++------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`String<class_String>`                                | :ref:`get_name<class_ARVRPositionalTracker_method_get_name>` **(** **)** const                                                             |
 +------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`Basis<class_Basis>`                                  | :ref:`get_orientation<class_ARVRPositionalTracker_method_get_orientation>` **(** **)** const                                               |
@@ -104,6 +106,12 @@ Returns the hand holding this tracker, if known. See TRACKER\_\* constants.
 
 If this is a controller that is being tracked the controller will also be represented by a joystick entry with this id.
 
+.. _class_ARVRPositionalTracker_method_get_mesh:
+
+- :ref:`Mesh<class_Mesh>` **get_mesh** **(** **)** const
+
+Returns the mesh related to a controller or anchor point if one is available.
+
 .. _class_ARVRPositionalTracker_method_get_name:
 
 - :ref:`String<class_String>` **get_name** **(** **)** const

+ 1 - 1
classes/class_arvrserver.rst

@@ -199,7 +199,7 @@ Get the interface registered at a given index in our list of interfaces.
 
 - :ref:`int<class_int>` **get_interface_count** **(** **)** const
 
-Get the number of interfaces currently registered with the AR/VR server. If your game supports multiple AR/VR platforms, you can look through the available interface, and either present the user with a selection or simply try an initialize each interface and use the first one that returns true.
+Get the number of interfaces currently registered with the AR/VR server. If your game supports multiple AR/VR platforms, you can look through the available interface, and either present the user with a selection or simply try an initialize each interface and use the first one that returns ``true``.
 
 .. _class_ARVRServer_method_get_interfaces:
 

+ 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 **)**

+ 20 - 10
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
 -------
@@ -92,6 +94,8 @@ Enumerations
 
 .. _class_AudioStreamPlayer3D_constant_ATTENUATION_LOGARITHMIC:
 
+.. _class_AudioStreamPlayer3D_constant_ATTENUATION_DISABLED:
+
 enum **AttenuationModel**:
 
 - **ATTENUATION_INVERSE_DISTANCE** = **0** --- Linear dampening of loudness according to distance.
@@ -100,6 +104,8 @@ enum **AttenuationModel**:
 
 - **ATTENUATION_LOGARITHMIC** = **2** --- Logarithmic dampening of loudness according to distance.
 
+- **ATTENUATION_DISABLED** = **3** --- No dampening of loudness according to distance.
+
 .. _enum_AudioStreamPlayer3D_OutOfRangeMode:
 
 .. _class_AudioStreamPlayer3D_constant_OUT_OF_RANGE_MIX:
@@ -187,7 +193,7 @@ Amount how much the filter affects the loudness, in dB.
 | *Getter* | get_attenuation_model()      |
 +----------+------------------------------+
 
-Decides if audio should get quieter with distance linearly, quadratically or logarithmically.
+Decides if audio should get quieter with distance linearly, quadratically, logarithmically, or not be affected by distance, effectively disabling attenuation.
 
 .. _class_AudioStreamPlayer3D_property_autoplay:
 
@@ -374,6 +380,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 **)**

+ 2 - 2
classes/class_basebutton.rst

@@ -152,7 +152,7 @@ Determines when the button is considered clicked, one of the ACTION_MODE\_\* con
 
 Binary mask to choose which mouse buttons this button will respond to.
 
-To allow both left-click and right-click, set this to 3, because it's BUTTON_MASK_LEFT | BUTTON_MASK_RIGHT.
+To allow both left-click and right-click, use ``BUTTON_MASK_LEFT | BUTTON_MASK_RIGHT``.
 
 .. _class_BaseButton_property_disabled:
 
@@ -263,5 +263,5 @@ Return the visual state used to draw the button. This is useful mainly when impl
 
 - :ref:`bool<class_bool>` **is_hovered** **(** **)** const
 
-Return true if the mouse has entered the button and has not left it yet.
+Return ``true`` if the mouse has entered the button and has not left it yet.
 

+ 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** **(** **)**

+ 3 - 3
classes/class_bitmap.rst

@@ -51,13 +51,13 @@ Method Descriptions
 
 - void **create** **(** :ref:`Vector2<class_Vector2>` size **)**
 
-Creates a bitmap with the specified size, filled with false.
+Creates a bitmap with the specified size, filled with ``false``.
 
 .. _class_BitMap_method_create_from_image_alpha:
 
 - void **create_from_image_alpha** **(** :ref:`Image<class_Image>` image, :ref:`float<class_float>` threshold=0.1 **)**
 
-Creates a bitmap that matches the given image dimensions, every element of the bitmap is set to false if the alpha value of the image at that position is equal to ``threshold`` or less, and true in other case.
+Creates a bitmap that matches the given image dimensions, every element of the bitmap is set to ``false`` if the alpha value of the image at that position is equal to ``threshold`` or less, and ``true`` in other case.
 
 .. _class_BitMap_method_get_bit:
 
@@ -75,7 +75,7 @@ Returns bitmap's dimensions.
 
 - :ref:`int<class_int>` **get_true_bit_count** **(** **)** const
 
-Returns the amount of bitmap elements that are set to true.
+Returns the amount of bitmap elements that are set to ``true``.
 
 .. _class_BitMap_method_grow_mask:
 

+ 3 - 3
classes/class_bool.rst

@@ -37,13 +37,13 @@ Method Descriptions
 
 - :ref:`bool<class_bool>` **bool** **(** :ref:`int<class_int>` from **)**
 
-Cast an :ref:`int<class_int>` value to a boolean value, this method will return true if called with an integer value different to 0 and false in other case.
+Cast an :ref:`int<class_int>` value to a boolean value, this method will return ``true`` if called with an integer value different to 0 and ``false`` in other case.
 
 - :ref:`bool<class_bool>` **bool** **(** :ref:`float<class_float>` from **)**
 
-Cast a :ref:`float<class_float>` value to a boolean value, this method will return true if called with a floating point value different to 0 and false in other case.
+Cast a :ref:`float<class_float>` value to a boolean value, this method will return ``true`` if called with a floating point value different to 0 and ``false`` in other case.
 
 - :ref:`bool<class_bool>` **bool** **(** :ref:`String<class_String>` from **)**
 
-Cast a :ref:`String<class_String>` value to a boolean value, this method will return true if called with a non empty string and false in other case. Examples: ``bool('False')`` returns true, ``bool('')``. returns false
+Cast a :ref:`String<class_String>` value to a boolean value, this method will return ``true`` if called with a non empty string and ``false`` in other case. Examples: ``bool('False')`` returns ``true``, ``bool('')`` returns ``false``.
 

+ 52 - 30
classes/class_camera.rst

@@ -34,6 +34,8 @@ Properties
 +-----------------------------------------------------+-----------------------------------------------------------------+
 | :ref:`float<class_float>`                           | :ref:`fov<class_Camera_property_fov>`                           |
 +-----------------------------------------------------+-----------------------------------------------------------------+
+| :ref:`Vector2<class_Vector2>`                       | :ref:`frustum_offset<class_Camera_property_frustum_offset>`     |
++-----------------------------------------------------+-----------------------------------------------------------------+
 | :ref:`float<class_float>`                           | :ref:`h_offset<class_Camera_property_h_offset>`                 |
 +-----------------------------------------------------+-----------------------------------------------------------------+
 | :ref:`KeepAspect<enum_Camera_KeepAspect>`           | :ref:`keep_aspect<class_Camera_property_keep_aspect>`           |
@@ -50,35 +52,37 @@ Properties
 Methods
 -------
 
-+-----------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                              | :ref:`clear_current<class_Camera_method_clear_current>` **(** :ref:`bool<class_bool>` enable_next=true **)**                                                             |
-+-----------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Transform<class_Transform>` | :ref:`get_camera_transform<class_Camera_method_get_camera_transform>` **(** **)** const                                                                                  |
-+-----------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`           | :ref:`get_cull_mask_bit<class_Camera_method_get_cull_mask_bit>` **(** :ref:`int<class_int>` layer **)** const                                                            |
-+-----------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Array<class_Array>`         | :ref:`get_frustum<class_Camera_method_get_frustum>` **(** **)** const                                                                                                    |
-+-----------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`           | :ref:`is_position_behind<class_Camera_method_is_position_behind>` **(** :ref:`Vector3<class_Vector3>` world_point **)** const                                            |
-+-----------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                              | :ref:`make_current<class_Camera_method_make_current>` **(** **)**                                                                                                        |
-+-----------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Vector3<class_Vector3>`     | :ref:`project_local_ray_normal<class_Camera_method_project_local_ray_normal>` **(** :ref:`Vector2<class_Vector2>` screen_point **)** const                               |
-+-----------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Vector3<class_Vector3>`     | :ref:`project_position<class_Camera_method_project_position>` **(** :ref:`Vector2<class_Vector2>` screen_point **)** const                                               |
-+-----------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Vector3<class_Vector3>`     | :ref:`project_ray_normal<class_Camera_method_project_ray_normal>` **(** :ref:`Vector2<class_Vector2>` screen_point **)** const                                           |
-+-----------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Vector3<class_Vector3>`     | :ref:`project_ray_origin<class_Camera_method_project_ray_origin>` **(** :ref:`Vector2<class_Vector2>` screen_point **)** const                                           |
-+-----------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                              | :ref:`set_cull_mask_bit<class_Camera_method_set_cull_mask_bit>` **(** :ref:`int<class_int>` layer, :ref:`bool<class_bool>` enable **)**                                  |
-+-----------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                              | :ref:`set_orthogonal<class_Camera_method_set_orthogonal>` **(** :ref:`float<class_float>` size, :ref:`float<class_float>` z_near, :ref:`float<class_float>` z_far **)**  |
-+-----------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                              | :ref:`set_perspective<class_Camera_method_set_perspective>` **(** :ref:`float<class_float>` fov, :ref:`float<class_float>` z_near, :ref:`float<class_float>` z_far **)** |
-+-----------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Vector2<class_Vector2>`     | :ref:`unproject_position<class_Camera_method_unproject_position>` **(** :ref:`Vector3<class_Vector3>` world_point **)** const                                            |
-+-----------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
++-----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                              | :ref:`clear_current<class_Camera_method_clear_current>` **(** :ref:`bool<class_bool>` enable_next=true **)**                                                                                            |
++-----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Transform<class_Transform>` | :ref:`get_camera_transform<class_Camera_method_get_camera_transform>` **(** **)** const                                                                                                                 |
++-----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`           | :ref:`get_cull_mask_bit<class_Camera_method_get_cull_mask_bit>` **(** :ref:`int<class_int>` layer **)** const                                                                                           |
++-----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Array<class_Array>`         | :ref:`get_frustum<class_Camera_method_get_frustum>` **(** **)** const                                                                                                                                   |
++-----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`           | :ref:`is_position_behind<class_Camera_method_is_position_behind>` **(** :ref:`Vector3<class_Vector3>` world_point **)** const                                                                           |
++-----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                              | :ref:`make_current<class_Camera_method_make_current>` **(** **)**                                                                                                                                       |
++-----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Vector3<class_Vector3>`     | :ref:`project_local_ray_normal<class_Camera_method_project_local_ray_normal>` **(** :ref:`Vector2<class_Vector2>` screen_point **)** const                                                              |
++-----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Vector3<class_Vector3>`     | :ref:`project_position<class_Camera_method_project_position>` **(** :ref:`Vector2<class_Vector2>` screen_point **)** const                                                                              |
++-----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Vector3<class_Vector3>`     | :ref:`project_ray_normal<class_Camera_method_project_ray_normal>` **(** :ref:`Vector2<class_Vector2>` screen_point **)** const                                                                          |
++-----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Vector3<class_Vector3>`     | :ref:`project_ray_origin<class_Camera_method_project_ray_origin>` **(** :ref:`Vector2<class_Vector2>` screen_point **)** const                                                                          |
++-----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                              | :ref:`set_cull_mask_bit<class_Camera_method_set_cull_mask_bit>` **(** :ref:`int<class_int>` layer, :ref:`bool<class_bool>` enable **)**                                                                 |
++-----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                              | :ref:`set_frustum<class_Camera_method_set_frustum>` **(** :ref:`float<class_float>` size, :ref:`Vector2<class_Vector2>` offset, :ref:`float<class_float>` z_near, :ref:`float<class_float>` z_far **)** |
++-----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                              | :ref:`set_orthogonal<class_Camera_method_set_orthogonal>` **(** :ref:`float<class_float>` size, :ref:`float<class_float>` z_near, :ref:`float<class_float>` z_far **)**                                 |
++-----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                              | :ref:`set_perspective<class_Camera_method_set_perspective>` **(** :ref:`float<class_float>` fov, :ref:`float<class_float>` z_near, :ref:`float<class_float>` z_far **)**                                |
++-----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Vector2<class_Vector2>`     | :ref:`unproject_position<class_Camera_method_unproject_position>` **(** :ref:`Vector3<class_Vector3>` world_point **)** const                                                                           |
++-----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 
 Enumerations
 ------------
@@ -89,12 +93,16 @@ Enumerations
 
 .. _class_Camera_constant_PROJECTION_ORTHOGONAL:
 
+.. _class_Camera_constant_PROJECTION_FRUSTUM:
+
 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_FRUSTUM** = **2**
+
 .. _enum_Camera_KeepAspect:
 
 .. _class_Camera_constant_KEEP_WIDTH:
@@ -203,6 +211,16 @@ The distance to the far culling boundary for this Camera relative to its local z
 
 The camera's field of view angle (in degrees). Only applicable in perspective mode. Since :ref:`keep_aspect<class_Camera_property_keep_aspect>` locks one axis, ``fov`` sets the other axis' field of view angle.
 
+.. _class_Camera_property_frustum_offset:
+
+- :ref:`Vector2<class_Vector2>` **frustum_offset**
+
++----------+---------------------------+
+| *Setter* | set_frustum_offset(value) |
++----------+---------------------------+
+| *Getter* | get_frustum_offset()      |
++----------+---------------------------+
+
 .. _class_Camera_property_h_offset:
 
 - :ref:`float<class_float>` **h_offset**
@@ -282,7 +300,7 @@ Method Descriptions
 
 - void **clear_current** **(** :ref:`bool<class_bool>` enable_next=true **)**
 
-If this is the current Camera, remove it from being current. If ``enable_next`` is true, request to make the next Camera current, if any.
+If this is the current Camera, remove it from being current. If ``enable_next`` is ``true``, request to make the next Camera current, if any.
 
 .. _class_Camera_method_get_camera_transform:
 
@@ -338,6 +356,10 @@ Returns a 3D position in worldspace, that is the result of projecting a point on
 
 - void **set_cull_mask_bit** **(** :ref:`int<class_int>` layer, :ref:`bool<class_bool>` enable **)**
 
+.. _class_Camera_method_set_frustum:
+
+- void **set_frustum** **(** :ref:`float<class_float>` size, :ref:`Vector2<class_Vector2>` offset, :ref:`float<class_float>` z_near, :ref:`float<class_float>` z_far **)**
+
 .. _class_Camera_method_set_orthogonal:
 
 - void **set_orthogonal** **(** :ref:`float<class_float>` size, :ref:`float<class_float>` z_near, :ref:`float<class_float>` z_far **)**

+ 3 - 3
classes/class_canvasitem.rst

@@ -53,7 +53,7 @@ Methods
 +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                  | :ref:`draw_line<class_CanvasItem_method_draw_line>` **(** :ref:`Vector2<class_Vector2>` from, :ref:`Vector2<class_Vector2>` to, :ref:`Color<class_Color>` color, :ref:`float<class_float>` width=1.0, :ref:`bool<class_bool>` antialiased=false **)**                                                                                                                                            |
 +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                  | :ref:`draw_mesh<class_CanvasItem_method_draw_mesh>` **(** :ref:`Mesh<class_Mesh>` mesh, :ref:`Texture<class_Texture>` texture, :ref:`Texture<class_Texture>` normal_map=null **)**                                                                                                                                                                                                               |
+| void                                  | :ref:`draw_mesh<class_CanvasItem_method_draw_mesh>` **(** :ref:`Mesh<class_Mesh>` mesh, :ref:`Texture<class_Texture>` texture, :ref:`Texture<class_Texture>` normal_map=null, :ref:`Transform2D<class_Transform2D>` transform=Transform2D( 1, 0, 0, 1, 0, 0 ), :ref:`Color<class_Color>` modulate=Color( 1, 1, 1, 1 ) **)**                                                                      |
 +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                  | :ref:`draw_multiline<class_CanvasItem_method_draw_multiline>` **(** :ref:`PoolVector2Array<class_PoolVector2Array>` points, :ref:`Color<class_Color>` color, :ref:`float<class_float>` width=1.0, :ref:`bool<class_bool>` antialiased=false **)**                                                                                                                                                |
 +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
@@ -205,7 +205,7 @@ Constants
 
 .. _class_CanvasItem_constant_NOTIFICATION_EXIT_CANVAS:
 
-- **NOTIFICATION_TRANSFORM_CHANGED** = **29** --- Canvas item transform has changed. Notification is only received if enabled by :ref:`set_notify_transform<class_CanvasItem_method_set_notify_transform>` or :ref:`set_notify_local_transform<class_CanvasItem_method_set_notify_local_transform>`.
+- **NOTIFICATION_TRANSFORM_CHANGED** = **2000** --- Canvas item transform has changed. Notification is only received if enabled by :ref:`set_notify_transform<class_CanvasItem_method_set_notify_transform>` or :ref:`set_notify_local_transform<class_CanvasItem_method_set_notify_local_transform>`.
 
 - **NOTIFICATION_DRAW** = **30** --- CanvasItem is requested to draw.
 
@@ -363,7 +363,7 @@ Draws a line from a 2D point to another, with a given color and width. It can be
 
 .. _class_CanvasItem_method_draw_mesh:
 
-- void **draw_mesh** **(** :ref:`Mesh<class_Mesh>` mesh, :ref:`Texture<class_Texture>` texture, :ref:`Texture<class_Texture>` normal_map=null **)**
+- void **draw_mesh** **(** :ref:`Mesh<class_Mesh>` mesh, :ref:`Texture<class_Texture>` texture, :ref:`Texture<class_Texture>` normal_map=null, :ref:`Transform2D<class_Transform2D>` transform=Transform2D( 1, 0, 0, 1, 0, 0 ), :ref:`Color<class_Color>` modulate=Color( 1, 1, 1, 1 ) **)**
 
 .. _class_CanvasItem_method_draw_multiline:
 

+ 39 - 15
classes/class_canvaslayer.rst

@@ -21,21 +21,25 @@ Canvas drawing layer.
 Properties
 ----------
 
-+---------------------------------------+----------------------------------------------------------------------+
-| :ref:`Node<class_Node>`               | :ref:`custom_viewport<class_CanvasLayer_property_custom_viewport>`   |
-+---------------------------------------+----------------------------------------------------------------------+
-| :ref:`int<class_int>`                 | :ref:`layer<class_CanvasLayer_property_layer>`                       |
-+---------------------------------------+----------------------------------------------------------------------+
-| :ref:`Vector2<class_Vector2>`         | :ref:`offset<class_CanvasLayer_property_offset>`                     |
-+---------------------------------------+----------------------------------------------------------------------+
-| :ref:`float<class_float>`             | :ref:`rotation<class_CanvasLayer_property_rotation>`                 |
-+---------------------------------------+----------------------------------------------------------------------+
-| :ref:`float<class_float>`             | :ref:`rotation_degrees<class_CanvasLayer_property_rotation_degrees>` |
-+---------------------------------------+----------------------------------------------------------------------+
-| :ref:`Vector2<class_Vector2>`         | :ref:`scale<class_CanvasLayer_property_scale>`                       |
-+---------------------------------------+----------------------------------------------------------------------+
-| :ref:`Transform2D<class_Transform2D>` | :ref:`transform<class_CanvasLayer_property_transform>`               |
-+---------------------------------------+----------------------------------------------------------------------+
++---------------------------------------+----------------------------------------------------------------------------------+
+| :ref:`Node<class_Node>`               | :ref:`custom_viewport<class_CanvasLayer_property_custom_viewport>`               |
++---------------------------------------+----------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`               | :ref:`follow_viewport_enable<class_CanvasLayer_property_follow_viewport_enable>` |
++---------------------------------------+----------------------------------------------------------------------------------+
+| :ref:`float<class_float>`             | :ref:`follow_viewport_scale<class_CanvasLayer_property_follow_viewport_scale>`   |
++---------------------------------------+----------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                 | :ref:`layer<class_CanvasLayer_property_layer>`                                   |
++---------------------------------------+----------------------------------------------------------------------------------+
+| :ref:`Vector2<class_Vector2>`         | :ref:`offset<class_CanvasLayer_property_offset>`                                 |
++---------------------------------------+----------------------------------------------------------------------------------+
+| :ref:`float<class_float>`             | :ref:`rotation<class_CanvasLayer_property_rotation>`                             |
++---------------------------------------+----------------------------------------------------------------------------------+
+| :ref:`float<class_float>`             | :ref:`rotation_degrees<class_CanvasLayer_property_rotation_degrees>`             |
++---------------------------------------+----------------------------------------------------------------------------------+
+| :ref:`Vector2<class_Vector2>`         | :ref:`scale<class_CanvasLayer_property_scale>`                                   |
++---------------------------------------+----------------------------------------------------------------------------------+
+| :ref:`Transform2D<class_Transform2D>` | :ref:`transform<class_CanvasLayer_property_transform>`                           |
++---------------------------------------+----------------------------------------------------------------------------------+
 
 Methods
 -------
@@ -71,6 +75,26 @@ Property Descriptions
 
 The custom :ref:`Viewport<class_Viewport>` node assigned to the ``CanvasLayer``. If null, uses the default viewport instead.
 
+.. _class_CanvasLayer_property_follow_viewport_enable:
+
+- :ref:`bool<class_bool>` **follow_viewport_enable**
+
++----------+----------------------------+
+| *Setter* | set_follow_viewport(value) |
++----------+----------------------------+
+| *Getter* | is_following_viewport()    |
++----------+----------------------------+
+
+.. _class_CanvasLayer_property_follow_viewport_scale:
+
+- :ref:`float<class_float>` **follow_viewport_scale**
+
++----------+----------------------------------+
+| *Setter* | set_follow_viewport_scale(value) |
++----------+----------------------------------+
+| *Getter* | get_follow_viewport_scale()      |
++----------+----------------------------------+
+
 .. _class_CanvasLayer_property_layer:
 
 - :ref:`int<class_int>` **layer**

+ 4 - 4
classes/class_classdb.rst

@@ -73,7 +73,7 @@ Method Descriptions
 
 - :ref:`bool<class_bool>` **can_instance** **(** :ref:`String<class_String>` class **)** const
 
-Returns true if you can instance objects from the specified 'class', false in other case.
+Returns ``true`` if you can instance objects from the specified 'class', ``false`` in other case.
 
 .. _class_ClassDB_method_class_exists:
 
@@ -103,7 +103,7 @@ Returns an array with the names all the integer constants of 'class' or its ance
 
 - :ref:`Array<class_Array>` **class_get_method_list** **(** :ref:`String<class_String>` class, :ref:`bool<class_bool>` no_inheritance=false **)** const
 
-Returns an array with all the methods of 'class' or its ancestry if 'no_inheritance' is false. Every element of the array is a :ref:`Dictionary<class_Dictionary>` with the following keys: args, default_args, flags, id, name, return: (class_name, hint, hint_string, name, type, usage).
+Returns an array with all the methods of 'class' or its ancestry if 'no_inheritance' is ``false``. Every element of the array is a :ref:`Dictionary<class_Dictionary>` with the following keys: args, default_args, flags, id, name, return: (class_name, hint, hint_string, name, type, usage).
 
 .. _class_ClassDB_method_class_get_property:
 
@@ -115,7 +115,7 @@ Returns the value of 'property' of 'class' or its ancestry.
 
 - :ref:`Array<class_Array>` **class_get_property_list** **(** :ref:`String<class_String>` class, :ref:`bool<class_bool>` no_inheritance=false **)** const
 
-Returns an array with all the properties of 'class' or its ancestry if 'no_inheritance' is false.
+Returns an array with all the properties of 'class' or its ancestry if 'no_inheritance' is ``false``.
 
 .. _class_ClassDB_method_class_get_signal:
 
@@ -127,7 +127,7 @@ Returns the 'signal' data of 'class' or its ancestry. The returned value is a :r
 
 - :ref:`Array<class_Array>` **class_get_signal_list** **(** :ref:`String<class_String>` class, :ref:`bool<class_bool>` no_inheritance=false **)** const
 
-Returns an array with all the signals of 'class' or its ancestry if 'no_inheritance' is false. Every element of the array is a :ref:`Dictionary<class_Dictionary>` as described in :ref:`class_get_signal<class_ClassDB_method_class_get_signal>`.
+Returns an array with all the signals of 'class' or its ancestry if 'no_inheritance' is ``false``. Every element of the array is a :ref:`Dictionary<class_Dictionary>` as described in :ref:`class_get_signal<class_ClassDB_method_class_get_signal>`.
 
 .. _class_ClassDB_method_class_has_integer_constant:
 

+ 1 - 1
classes/class_collisionobject.rst

@@ -117,7 +117,7 @@ If ``true``, the ``CollisionObject`` will continue to receive input events as th
 | *Getter* | is_ray_pickable()       |
 +----------+-------------------------+
 
-If ``true``, the :ref:`CollisionObject<class_CollisionObject>`'s shapes will respond to :ref:`RayCast<class_RayCast>`\ s. Default value: ``true``.
+If ``true``, the ``CollisionObject``'s shapes will respond to :ref:`RayCast<class_RayCast>`\ s. Default value: ``true``.
 
 Method Descriptions
 -------------------

+ 1 - 1
classes/class_collisionpolygon.rst

@@ -57,7 +57,7 @@ Length that the resulting collision extends in either direction perpendicular to
 | *Getter* | is_disabled()       |
 +----------+---------------------+
 
-If true, no collision will be produced.
+If ``true``, no collision will be produced.
 
 .. _class_CollisionPolygon_property_polygon:
 

+ 1 - 1
classes/class_control.rst

@@ -838,7 +838,7 @@ Controls whether the control will be able to receive mouse button input events t
 | *Getter* | is_clipping_contents()   |
 +----------+--------------------------+
 
-Enables whether rendering of children should be clipped to this control's rectangle. If true, parts of a child which would be visibly outside of this control's rectangle will not be rendered.
+Enables whether rendering of children should be clipped to this control's rectangle. If ``true``, parts of a child which would be visibly outside of this control's rectangle will not be rendered.
 
 .. _class_Control_property_rect_global_position:
 

+ 1 - 1
classes/class_csgbox.rst

@@ -7,7 +7,7 @@
 CSGBox
 ======
 
-**Inherits:** :ref:`CSGPrimitive<class_CSGPrimitive>` **<** :ref:`CSGShape<class_CSGShape>` **<** :ref:`VisualInstance<class_VisualInstance>` **<** :ref:`Spatial<class_Spatial>` **<** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>`
+**Inherits:** :ref:`CSGPrimitive<class_CSGPrimitive>` **<** :ref:`CSGShape<class_CSGShape>` **<** :ref:`GeometryInstance<class_GeometryInstance>` **<** :ref:`VisualInstance<class_VisualInstance>` **<** :ref:`Spatial<class_Spatial>` **<** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>`
 
 **Category:** Core
 

+ 1 - 1
classes/class_csgcombiner.rst

@@ -7,7 +7,7 @@
 CSGCombiner
 ===========
 
-**Inherits:** :ref:`CSGShape<class_CSGShape>` **<** :ref:`VisualInstance<class_VisualInstance>` **<** :ref:`Spatial<class_Spatial>` **<** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>`
+**Inherits:** :ref:`CSGShape<class_CSGShape>` **<** :ref:`GeometryInstance<class_GeometryInstance>` **<** :ref:`VisualInstance<class_VisualInstance>` **<** :ref:`Spatial<class_Spatial>` **<** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>`
 
 **Category:** Core
 

+ 3 - 3
classes/class_csgcylinder.rst

@@ -7,7 +7,7 @@
 CSGCylinder
 ===========
 
-**Inherits:** :ref:`CSGPrimitive<class_CSGPrimitive>` **<** :ref:`CSGShape<class_CSGShape>` **<** :ref:`VisualInstance<class_VisualInstance>` **<** :ref:`Spatial<class_Spatial>` **<** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>`
+**Inherits:** :ref:`CSGPrimitive<class_CSGPrimitive>` **<** :ref:`CSGShape<class_CSGShape>` **<** :ref:`GeometryInstance<class_GeometryInstance>` **<** :ref:`VisualInstance<class_VisualInstance>` **<** :ref:`Spatial<class_Spatial>` **<** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>`
 
 **Category:** Core
 
@@ -51,7 +51,7 @@ Property Descriptions
 | *Getter* | is_cone()       |
 +----------+-----------------+
 
-If true a cone is created, the :ref:`radius<class_CSGCylinder_property_radius>` will only apply to one side.
+If ``true`` a cone is created, the :ref:`radius<class_CSGCylinder_property_radius>` will only apply to one side.
 
 .. _class_CSGCylinder_property_height:
 
@@ -111,5 +111,5 @@ The number of sides of the cylinder, the higher this number the more detail ther
 | *Getter* | get_smooth_faces()      |
 +----------+-------------------------+
 
-If true the normals of the cylinder are set to give a smooth effect making the cylinder seem rounded. When false the cylinder will have a flat shaded look.
+If ``true`` the normals of the cylinder are set to give a smooth effect making the cylinder seem rounded. If ``false`` the cylinder will have a flat shaded look.
 

+ 16 - 4
classes/class_csgmesh.rst

@@ -7,7 +7,7 @@
 CSGMesh
 =======
 
-**Inherits:** :ref:`CSGPrimitive<class_CSGPrimitive>` **<** :ref:`CSGShape<class_CSGShape>` **<** :ref:`VisualInstance<class_VisualInstance>` **<** :ref:`Spatial<class_Spatial>` **<** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>`
+**Inherits:** :ref:`CSGPrimitive<class_CSGPrimitive>` **<** :ref:`CSGShape<class_CSGShape>` **<** :ref:`GeometryInstance<class_GeometryInstance>` **<** :ref:`VisualInstance<class_VisualInstance>` **<** :ref:`Spatial<class_Spatial>` **<** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>`
 
 **Category:** Core
 
@@ -19,9 +19,11 @@ A CSG Mesh shape that uses a mesh resource.
 Properties
 ----------
 
-+-------------------------+------------------------------------------+
-| :ref:`Mesh<class_Mesh>` | :ref:`mesh<class_CSGMesh_property_mesh>` |
-+-------------------------+------------------------------------------+
++---------------------------------+--------------------------------------------------+
+| :ref:`Material<class_Material>` | :ref:`material<class_CSGMesh_property_material>` |
++---------------------------------+--------------------------------------------------+
+| :ref:`Mesh<class_Mesh>`         | :ref:`mesh<class_CSGMesh_property_mesh>`         |
++---------------------------------+--------------------------------------------------+
 
 Description
 -----------
@@ -31,6 +33,16 @@ This CSG node allows you to use any mesh resource as a CSG shape, provided it is
 Property Descriptions
 ---------------------
 
+.. _class_CSGMesh_property_material:
+
+- :ref:`Material<class_Material>` **material**
+
++----------+---------------------+
+| *Setter* | set_material(value) |
++----------+---------------------+
+| *Getter* | get_material()      |
++----------+---------------------+
+
 .. _class_CSGMesh_property_mesh:
 
 - :ref:`Mesh<class_Mesh>` **mesh**

+ 4 - 4
classes/class_csgpolygon.rst

@@ -7,7 +7,7 @@
 CSGPolygon
 ==========
 
-**Inherits:** :ref:`CSGPrimitive<class_CSGPrimitive>` **<** :ref:`CSGShape<class_CSGShape>` **<** :ref:`VisualInstance<class_VisualInstance>` **<** :ref:`Spatial<class_Spatial>` **<** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>`
+**Inherits:** :ref:`CSGPrimitive<class_CSGPrimitive>` **<** :ref:`CSGShape<class_CSGShape>` **<** :ref:`GeometryInstance<class_GeometryInstance>` **<** :ref:`VisualInstance<class_VisualInstance>` **<** :ref:`Spatial<class_Spatial>` **<** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>`
 
 **Category:** Core
 
@@ -136,7 +136,7 @@ Extrusion mode.
 | *Getter* | is_path_continuous_u()       |
 +----------+------------------------------+
 
-If true the u component of our uv will continuously increase in unison with the distance traveled along our path when :ref:`mode<class_CSGPolygon_property_mode>` is :ref:`MODE_PATH<class_CSGPolygon_constant_MODE_PATH>`.
+If ``true`` the u component of our uv will continuously increase in unison with the distance traveled along our path when :ref:`mode<class_CSGPolygon_property_mode>` is :ref:`MODE_PATH<class_CSGPolygon_constant_MODE_PATH>`.
 
 .. _class_CSGPolygon_property_path_interval:
 
@@ -160,7 +160,7 @@ Interval at which a new extrusion slice is added along the path when :ref:`mode<
 | *Getter* | is_path_joined()       |
 +----------+------------------------+
 
-If true the start and end of our path are joined together ensuring there is no seam when :ref:`mode<class_CSGPolygon_property_mode>` is :ref:`MODE_PATH<class_CSGPolygon_constant_MODE_PATH>`.
+If ``true`` the start and end of our path are joined together ensuring there is no seam when :ref:`mode<class_CSGPolygon_property_mode>` is :ref:`MODE_PATH<class_CSGPolygon_constant_MODE_PATH>`.
 
 .. _class_CSGPolygon_property_path_local:
 
@@ -172,7 +172,7 @@ If true the start and end of our path are joined together ensuring there is no s
 | *Getter* | is_path_local()       |
 +----------+-----------------------+
 
-If false we extrude centered on our path, if true we extrude in relation to the position of our CSGPolygon when :ref:`mode<class_CSGPolygon_property_mode>` is :ref:`MODE_PATH<class_CSGPolygon_constant_MODE_PATH>`.
+If ``false`` we extrude centered on our path, if ``true`` we extrude in relation to the position of our CSGPolygon when :ref:`mode<class_CSGPolygon_property_mode>` is :ref:`MODE_PATH<class_CSGPolygon_constant_MODE_PATH>`.
 
 .. _class_CSGPolygon_property_path_node:
 

+ 1 - 1
classes/class_csgprimitive.rst

@@ -7,7 +7,7 @@
 CSGPrimitive
 ============
 
-**Inherits:** :ref:`CSGShape<class_CSGShape>` **<** :ref:`VisualInstance<class_VisualInstance>` **<** :ref:`Spatial<class_Spatial>` **<** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>`
+**Inherits:** :ref:`CSGShape<class_CSGShape>` **<** :ref:`GeometryInstance<class_GeometryInstance>` **<** :ref:`VisualInstance<class_VisualInstance>` **<** :ref:`Spatial<class_Spatial>` **<** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>`
 
 **Inherited By:** :ref:`CSGBox<class_CSGBox>`, :ref:`CSGCylinder<class_CSGCylinder>`, :ref:`CSGMesh<class_CSGMesh>`, :ref:`CSGPolygon<class_CSGPolygon>`, :ref:`CSGSphere<class_CSGSphere>`, :ref:`CSGTorus<class_CSGTorus>`
 

+ 2 - 2
classes/class_csgshape.rst

@@ -7,7 +7,7 @@
 CSGShape
 ========
 
-**Inherits:** :ref:`VisualInstance<class_VisualInstance>` **<** :ref:`Spatial<class_Spatial>` **<** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>`
+**Inherits:** :ref:`GeometryInstance<class_GeometryInstance>` **<** :ref:`VisualInstance<class_VisualInstance>` **<** :ref:`Spatial<class_Spatial>` **<** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>`
 
 **Inherited By:** :ref:`CSGCombiner<class_CSGCombiner>`, :ref:`CSGPrimitive<class_CSGPrimitive>`
 
@@ -176,7 +176,7 @@ Returns an individual bit on the collision mask.
 
 - :ref:`bool<class_bool>` **is_root_shape** **(** **)** const
 
-Returns true if this is a root shape and is thus the object that is rendered.
+Returns ``true`` if this is a root shape and is thus the object that is rendered.
 
 .. _class_CSGShape_method_set_collision_layer_bit:
 

+ 2 - 2
classes/class_csgsphere.rst

@@ -7,7 +7,7 @@
 CSGSphere
 =========
 
-**Inherits:** :ref:`CSGPrimitive<class_CSGPrimitive>` **<** :ref:`CSGShape<class_CSGShape>` **<** :ref:`VisualInstance<class_VisualInstance>` **<** :ref:`Spatial<class_Spatial>` **<** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>`
+**Inherits:** :ref:`CSGPrimitive<class_CSGPrimitive>` **<** :ref:`CSGShape<class_CSGShape>` **<** :ref:`GeometryInstance<class_GeometryInstance>` **<** :ref:`VisualInstance<class_VisualInstance>` **<** :ref:`Spatial<class_Spatial>` **<** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>`
 
 **Category:** Core
 
@@ -97,5 +97,5 @@ Number of horizontal slices for the sphere.
 | *Getter* | get_smooth_faces()      |
 +----------+-------------------------+
 
-If true the normals of the sphere are set to give a smooth effect making the sphere seem rounded. When false the sphere will have a flat shaded look.
+If ``true`` the normals of the sphere are set to give a smooth effect making the sphere seem rounded. If ``false`` the sphere will have a flat shaded look.
 

+ 2 - 2
classes/class_csgtorus.rst

@@ -7,7 +7,7 @@
 CSGTorus
 ========
 
-**Inherits:** :ref:`CSGPrimitive<class_CSGPrimitive>` **<** :ref:`CSGShape<class_CSGShape>` **<** :ref:`VisualInstance<class_VisualInstance>` **<** :ref:`Spatial<class_Spatial>` **<** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>`
+**Inherits:** :ref:`CSGPrimitive<class_CSGPrimitive>` **<** :ref:`CSGShape<class_CSGShape>` **<** :ref:`GeometryInstance<class_GeometryInstance>` **<** :ref:`VisualInstance<class_VisualInstance>` **<** :ref:`Spatial<class_Spatial>` **<** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>`
 
 **Category:** Core
 
@@ -111,5 +111,5 @@ The number of slices the torus is constructed of.
 | *Getter* | get_smooth_faces()      |
 +----------+-------------------------+
 
-If true the normals of the torus are set to give a smooth effect making the torus seem rounded. When false the torus will have a flat shaded look.
+If ``true`` the normals of the torus are set to give a smooth effect making the torus seem rounded. If ``false`` the torus will have a flat shaded look.
 

+ 1 - 1
classes/class_curve2d.rst

@@ -169,7 +169,7 @@ If ``idx`` is out of bounds it is truncated to the first or last vertex, and ``t
 
 Returns a point within the curve at position ``offset``, where ``offset`` is measured as a pixel distance along the curve.
 
-To do that, it finds the two cached points where the ``offset`` lies between, then interpolates the values. This interpolation is cubic if ``cubic`` is set to true, or linear if set to false.
+To do that, it finds the two cached points where the ``offset`` lies between, then interpolates the values. This interpolation is cubic if ``cubic`` is set to ``true``, or linear if set to ``false``.
 
 Cubic interpolation tends to follow the curves better, but linear is faster (and often, precise enough).
 

+ 1 - 1
classes/class_curve3d.rst

@@ -213,7 +213,7 @@ If ``idx`` is out of bounds it is truncated to the first or last vertex, and ``t
 
 Returns a point within the curve at position ``offset``, where ``offset`` is measured as a pixel distance along the curve.
 
-To do that, it finds the two cached points where the ``offset`` lies between, then interpolates the values. This interpolation is cubic if ``cubic`` is set to true, or linear if set to false.
+To do that, it finds the two cached points where the ``offset`` lies between, then interpolates the values. This interpolation is cubic if ``cubic`` is set to ``true``, or linear if set to ``false``.
 
 Cubic interpolation tends to follow the curves better, but linear is faster (and often, precise enough).
 

+ 3 - 3
classes/class_dictionary.rst

@@ -85,7 +85,7 @@ Creates a copy of the dictionary, and returns it.
 
 - :ref:`bool<class_bool>` **empty** **(** **)**
 
-Return true if the dictionary is empty.
+Return ``true`` if the dictionary is empty.
 
 .. _class_Dictionary_method_erase:
 
@@ -103,13 +103,13 @@ Returns the current value for the specified key in the ``Dictionary``. If the ke
 
 - :ref:`bool<class_bool>` **has** **(** :ref:`Variant<class_Variant>` key **)**
 
-Return true if the dictionary has a given key.
+Return ``true`` if the dictionary has a given key.
 
 .. _class_Dictionary_method_has_all:
 
 - :ref:`bool<class_bool>` **has_all** **(** :ref:`Array<class_Array>` keys **)**
 
-Return true if the dictionary has all of the keys in the given array.
+Return ``true`` if the dictionary has all of the keys in the given array.
 
 .. _class_Dictionary_method_hash:
 

+ 7 - 0
classes/class_dynamicfont.rst

@@ -84,6 +84,13 @@ Description
 
 DynamicFont renders vector font files (such as TTF or OTF) dynamically at runtime instead of using a prerendered texture atlas like :ref:`BitmapFont<class_BitmapFont>`. This trades the faster loading time of :ref:`BitmapFont<class_BitmapFont>`\ s for the ability to change font parameters like size and spacing during runtime. :ref:`DynamicFontData<class_DynamicFontData>` is used for referencing the font file paths.
 
+::
+
+    var dynamic_font = DynamicFont.new()
+    dynamic_font.font_data = load("res://BarlowCondensed-Bold.ttf")
+    dynamic_font.size = 64
+    $"Label".set("custom_fonts/font", dynamic_font)
+
 Property Descriptions
 ---------------------
 

+ 131 - 0
classes/class_editorfeatureprofile.rst

@@ -0,0 +1,131 @@
+.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. DO NOT EDIT THIS FILE, but the EditorFeatureProfile.xml source instead.
+.. The source is found in doc/classes or modules/<name>/doc_classes.
+
+.. _class_EditorFeatureProfile:
+
+EditorFeatureProfile
+====================
+
+**Inherits:** :ref:`Reference<class_Reference>` **<** :ref:`Object<class_Object>`
+
+**Category:** Core
+
+Brief Description
+-----------------
+
+
+
+Methods
+-------
+
++---------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_String>`           | :ref:`get_feature_name<class_EditorFeatureProfile_method_get_feature_name>` **(** :ref:`Feature<enum_EditorFeatureProfile_Feature>` feature **)**                                                                      |
++---------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`               | :ref:`is_class_disabled<class_EditorFeatureProfile_method_is_class_disabled>` **(** :ref:`String<class_String>` class_name **)** const                                                                                 |
++---------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`               | :ref:`is_class_editor_disabled<class_EditorFeatureProfile_method_is_class_editor_disabled>` **(** :ref:`String<class_String>` class_name **)** const                                                                   |
++---------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`               | :ref:`is_class_property_disabled<class_EditorFeatureProfile_method_is_class_property_disabled>` **(** :ref:`String<class_String>` class_name, :ref:`String<class_String>` arg1 **)** const                             |
++---------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`               | :ref:`is_feature_disabled<class_EditorFeatureProfile_method_is_feature_disabled>` **(** :ref:`Feature<enum_EditorFeatureProfile_Feature>` feature **)** const                                                          |
++---------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Error<enum_@GlobalScope_Error>` | :ref:`load_from_file<class_EditorFeatureProfile_method_load_from_file>` **(** :ref:`String<class_String>` path **)**                                                                                                   |
++---------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Error<enum_@GlobalScope_Error>` | :ref:`save_to_file<class_EditorFeatureProfile_method_save_to_file>` **(** :ref:`String<class_String>` path **)**                                                                                                       |
++---------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                  | :ref:`set_disable_class<class_EditorFeatureProfile_method_set_disable_class>` **(** :ref:`String<class_String>` class_name, :ref:`bool<class_bool>` disable **)**                                                      |
++---------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                  | :ref:`set_disable_class_editor<class_EditorFeatureProfile_method_set_disable_class_editor>` **(** :ref:`String<class_String>` class_name, :ref:`bool<class_bool>` disable **)**                                        |
++---------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                  | :ref:`set_disable_class_property<class_EditorFeatureProfile_method_set_disable_class_property>` **(** :ref:`String<class_String>` class_name, :ref:`String<class_String>` property, :ref:`bool<class_bool>` arg2 **)** |
++---------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                  | :ref:`set_disable_feature<class_EditorFeatureProfile_method_set_disable_feature>` **(** :ref:`Feature<enum_EditorFeatureProfile_Feature>` feature, :ref:`bool<class_bool>` disable **)**                               |
++---------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+
+Enumerations
+------------
+
+.. _enum_EditorFeatureProfile_Feature:
+
+.. _class_EditorFeatureProfile_constant_FEATURE_3D:
+
+.. _class_EditorFeatureProfile_constant_FEATURE_SCRIPT:
+
+.. _class_EditorFeatureProfile_constant_FEATURE_ASSET_LIB:
+
+.. _class_EditorFeatureProfile_constant_FEATURE_SCENE_TREE:
+
+.. _class_EditorFeatureProfile_constant_FEATURE_IMPORT_DOCK:
+
+.. _class_EditorFeatureProfile_constant_FEATURE_NODE_DOCK:
+
+.. _class_EditorFeatureProfile_constant_FEATURE_FILESYSTEM_DOCK:
+
+.. _class_EditorFeatureProfile_constant_FEATURE_MAX:
+
+enum **Feature**:
+
+- **FEATURE_3D** = **0**
+
+- **FEATURE_SCRIPT** = **1**
+
+- **FEATURE_ASSET_LIB** = **2**
+
+- **FEATURE_SCENE_TREE** = **3**
+
+- **FEATURE_IMPORT_DOCK** = **4**
+
+- **FEATURE_NODE_DOCK** = **5**
+
+- **FEATURE_FILESYSTEM_DOCK** = **6**
+
+- **FEATURE_MAX** = **7**
+
+Method Descriptions
+-------------------
+
+.. _class_EditorFeatureProfile_method_get_feature_name:
+
+- :ref:`String<class_String>` **get_feature_name** **(** :ref:`Feature<enum_EditorFeatureProfile_Feature>` feature **)**
+
+.. _class_EditorFeatureProfile_method_is_class_disabled:
+
+- :ref:`bool<class_bool>` **is_class_disabled** **(** :ref:`String<class_String>` class_name **)** const
+
+.. _class_EditorFeatureProfile_method_is_class_editor_disabled:
+
+- :ref:`bool<class_bool>` **is_class_editor_disabled** **(** :ref:`String<class_String>` class_name **)** const
+
+.. _class_EditorFeatureProfile_method_is_class_property_disabled:
+
+- :ref:`bool<class_bool>` **is_class_property_disabled** **(** :ref:`String<class_String>` class_name, :ref:`String<class_String>` arg1 **)** const
+
+.. _class_EditorFeatureProfile_method_is_feature_disabled:
+
+- :ref:`bool<class_bool>` **is_feature_disabled** **(** :ref:`Feature<enum_EditorFeatureProfile_Feature>` feature **)** const
+
+.. _class_EditorFeatureProfile_method_load_from_file:
+
+- :ref:`Error<enum_@GlobalScope_Error>` **load_from_file** **(** :ref:`String<class_String>` path **)**
+
+.. _class_EditorFeatureProfile_method_save_to_file:
+
+- :ref:`Error<enum_@GlobalScope_Error>` **save_to_file** **(** :ref:`String<class_String>` path **)**
+
+.. _class_EditorFeatureProfile_method_set_disable_class:
+
+- void **set_disable_class** **(** :ref:`String<class_String>` class_name, :ref:`bool<class_bool>` disable **)**
+
+.. _class_EditorFeatureProfile_method_set_disable_class_editor:
+
+- void **set_disable_class_editor** **(** :ref:`String<class_String>` class_name, :ref:`bool<class_bool>` disable **)**
+
+.. _class_EditorFeatureProfile_method_set_disable_class_property:
+
+- void **set_disable_class_property** **(** :ref:`String<class_String>` class_name, :ref:`String<class_String>` property, :ref:`bool<class_bool>` arg2 **)**
+
+.. _class_EditorFeatureProfile_method_set_disable_feature:
+
+- void **set_disable_feature** **(** :ref:`Feature<enum_EditorFeatureProfile_Feature>` feature, :ref:`bool<class_bool>` disable **)**
+

+ 1 - 1
classes/class_editorfilesystem.rst

@@ -100,7 +100,7 @@ Return the scan progress for 0 to 1 if the FS is being scanned.
 
 - :ref:`bool<class_bool>` **is_scanning** **(** **)** const
 
-Return true of the filesystem is being scanned.
+Return ``true`` of the filesystem is being scanned.
 
 .. _class_EditorFileSystem_method_scan:
 

+ 34 - 1
classes/class_editorinspectorplugin.rst

@@ -14,7 +14,7 @@ EditorInspectorPlugin
 Brief Description
 -----------------
 
-
+Plugin for adding custom property editors on inspector.
 
 Methods
 -------
@@ -37,6 +37,23 @@ Methods
 | :ref:`bool<class_bool>` | :ref:`parse_property<class_EditorInspectorPlugin_method_parse_property>` **(** :ref:`Object<class_Object>` object, :ref:`int<class_int>` type, :ref:`String<class_String>` path, :ref:`int<class_int>` hint, :ref:`String<class_String>` hint_text, :ref:`int<class_int>` usage **)** virtual |
 +-------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 
+Description
+-----------
+
+This plugins allows adding custom property editors to :ref:`EditorInspector<class_EditorInspector>`.
+
+Plugins are registered via :ref:`EditorPlugin.add_inspector_plugin<class_EditorPlugin_method_add_inspector_plugin>`.
+
+When an object is edited, the :ref:`can_handle<class_EditorInspectorPlugin_method_can_handle>` function is called and must return true if the object type is supported.
+
+If supported, the function :ref:`parse_begin<class_EditorInspectorPlugin_method_parse_begin>` will be called, allowing to place custom controls at the beginning of the class.
+
+Subsequently, the :ref:`parse_category<class_EditorInspectorPlugin_method_parse_category>` and :ref:`parse_property<class_EditorInspectorPlugin_method_parse_property>` are called for every category and property. They offer the ability to add custom controls to the inspector too.
+
+Finally :ref:`parse_end<class_EditorInspectorPlugin_method_parse_end>` will be called.
+
+On each of these calls, the "add" functions can be called.
+
 Method Descriptions
 -------------------
 
@@ -44,31 +61,47 @@ Method Descriptions
 
 - void **add_custom_control** **(** :ref:`Control<class_Control>` control **)**
 
+Add a custom control, not necesarily a property editor.
+
 .. _class_EditorInspectorPlugin_method_add_property_editor:
 
 - void **add_property_editor** **(** :ref:`String<class_String>` property, :ref:`Control<class_Control>` editor **)**
 
+Add a property editor, this must inherit :ref:`EditorProperty<class_EditorProperty>`.
+
 .. _class_EditorInspectorPlugin_method_add_property_editor_for_multiple_properties:
 
 - void **add_property_editor_for_multiple_properties** **(** :ref:`String<class_String>` label, :ref:`PoolStringArray<class_PoolStringArray>` properties, :ref:`Control<class_Control>` editor **)**
 
+Add am editor that allows modifying multiple properties, this must inherit :ref:`EditorProperty<class_EditorProperty>`.
+
 .. _class_EditorInspectorPlugin_method_can_handle:
 
 - :ref:`bool<class_bool>` **can_handle** **(** :ref:`Object<class_Object>` object **)** virtual
 
+Return true if this object can be handled by this plugin.
+
 .. _class_EditorInspectorPlugin_method_parse_begin:
 
 - void **parse_begin** **(** :ref:`Object<class_Object>` object **)** virtual
 
+Called to allow adding controls at the beginning of the list.
+
 .. _class_EditorInspectorPlugin_method_parse_category:
 
 - void **parse_category** **(** :ref:`Object<class_Object>` object, :ref:`String<class_String>` category **)** virtual
 
+Called to allow adding controls at the beginning of the category.
+
 .. _class_EditorInspectorPlugin_method_parse_end:
 
 - void **parse_end** **(** **)** virtual
 
+Called to allow adding controls at the end of the list.
+
 .. _class_EditorInspectorPlugin_method_parse_property:
 
 - :ref:`bool<class_bool>` **parse_property** **(** :ref:`Object<class_Object>` object, :ref:`int<class_int>` type, :ref:`String<class_String>` path, :ref:`int<class_int>` hint, :ref:`String<class_String>` hint_text, :ref:`int<class_int>` usage **)** virtual
 
+Called to allow adding property specific editors to the inspector. Usually these inherit :ref:`EditorProperty<class_EditorProperty>`
+

+ 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

+ 2 - 2
classes/class_editorplugin.rst

@@ -442,13 +442,13 @@ Get the GUI layout of the plugin. This is used to save the project's editor layo
 
 - :ref:`bool<class_bool>` **handles** **(** :ref:`Object<class_Object>` object **)** virtual
 
-Implement this function if your plugin edits a specific type of object (Resource or Node). If you return true, then you will get the functions :ref:`edit<class_EditorPlugin_method_edit>` and :ref:`make_visible<class_EditorPlugin_method_make_visible>` called when the editor requests them. If you have declared the methods :ref:`forward_canvas_gui_input<class_EditorPlugin_method_forward_canvas_gui_input>` and :ref:`forward_spatial_gui_input<class_EditorPlugin_method_forward_spatial_gui_input>` these will be called too.
+Implement this function if your plugin edits a specific type of object (Resource or Node). If you return ``true``, then you will get the functions :ref:`edit<class_EditorPlugin_method_edit>` and :ref:`make_visible<class_EditorPlugin_method_make_visible>` called when the editor requests them. If you have declared the methods :ref:`forward_canvas_gui_input<class_EditorPlugin_method_forward_canvas_gui_input>` and :ref:`forward_spatial_gui_input<class_EditorPlugin_method_forward_spatial_gui_input>` these will be called too.
 
 .. _class_EditorPlugin_method_has_main_screen:
 
 - :ref:`bool<class_bool>` **has_main_screen** **(** **)** virtual
 
-Return true if this is a main screen editor plugin (it goes in the workspaces selector together with '2D', '3D', and 'Script').
+Return ``true`` if this is a main screen editor plugin (it goes in the workspaces selector together with '2D', '3D', and 'Script').
 
 .. _class_EditorPlugin_method_hide_bottom_panel:
 

+ 60 - 1
classes/class_editorproperty.rst

@@ -14,7 +14,7 @@ EditorProperty
 Brief Description
 -----------------
 
-
+Custom control to edit properties for adding into the inspector
 
 Properties
 ----------
@@ -36,6 +36,8 @@ Properties
 Methods
 -------
 
++-----------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                        | :ref:`add_focusable<class_EditorProperty_method_add_focusable>` **(** :ref:`Control<class_Control>` control **)**                                                                                                                 |
 +-----------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                        | :ref:`emit_changed<class_EditorProperty_method_emit_changed>` **(** :ref:`String<class_String>` property, :ref:`Variant<class_Variant>` value, :ref:`String<class_String>` field="", :ref:`bool<class_bool>` changing=false **)** |
 +-----------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
@@ -45,6 +47,8 @@ Methods
 +-----------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`String<class_String>` | :ref:`get_tooltip_text<class_EditorProperty_method_get_tooltip_text>` **(** **)** const                                                                                                                                           |
 +-----------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                        | :ref:`set_bottom_editor<class_EditorProperty_method_set_bottom_editor>` **(** :ref:`Control<class_Control>` editor **)**                                                                                                          |
++-----------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                        | :ref:`update_property<class_EditorProperty_method_update_property>` **(** **)** virtual                                                                                                                                           |
 +-----------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 
@@ -55,34 +59,55 @@ Signals
 
 - **multiple_properties_changed** **(** :ref:`PoolStringArray<class_PoolStringArray>` properties, :ref:`Array<class_Array>` value **)**
 
+Emit yourself if you want multiple properties modified at the same time. Do not use if added via :ref:`EditorInspectorPlugin.parse_property<class_EditorInspectorPlugin_method_parse_property>`
+
 .. _class_EditorProperty_signal_object_id_selected:
 
 - **object_id_selected** **(** :ref:`String<class_String>` property, :ref:`int<class_int>` id **)**
 
+Used by sub-inspectors. Emit if what was selected was an Object ID.
+
 .. _class_EditorProperty_signal_property_changed:
 
 - **property_changed** **(** :ref:`String<class_String>` property, :ref:`Nil<class_Nil>` value **)**
 
+Do not emit this manually, use the :ref:`emit_changed<class_EditorProperty_method_emit_changed>` method instead.
+
 .. _class_EditorProperty_signal_property_checked:
 
 - **property_checked** **(** :ref:`String<class_String>` property, :ref:`String<class_String>` bool **)**
 
+Used internally, when a property was checked.
+
 .. _class_EditorProperty_signal_property_keyed:
 
 - **property_keyed** **(** :ref:`String<class_String>` property **)**
 
+Emit if you want to add this value as an animation key (check keying being enabled first).
+
 .. _class_EditorProperty_signal_property_keyed_with_value:
 
 - **property_keyed_with_value** **(** :ref:`String<class_String>` property, :ref:`Nil<class_Nil>` value **)**
 
+Emit if you want to key a property with a single value.
+
 .. _class_EditorProperty_signal_resource_selected:
 
 - **resource_selected** **(** :ref:`String<class_String>` path, :ref:`Resource<class_Resource>` resource **)**
 
+If you want a sub-resource to be edited, emit this signal with the resource.
+
 .. _class_EditorProperty_signal_selected:
 
 - **selected** **(** :ref:`String<class_String>` path, :ref:`int<class_int>` focusable_idx **)**
 
+Internal, used when selected.
+
+Description
+-----------
+
+This control allows property editing for one or multiple properties into :ref:`EditorInspector<class_EditorInspector>`. It is added via :ref:`EditorInspectorPlugin<class_EditorInspectorPlugin>`.
+
 Property Descriptions
 ---------------------
 
@@ -96,6 +121,8 @@ Property Descriptions
 | *Getter* | is_checkable()       |
 +----------+----------------------+
 
+Used by the inspector, set when property is checkable.
+
 .. _class_EditorProperty_property_checked:
 
 - :ref:`bool<class_bool>` **checked**
@@ -106,6 +133,8 @@ Property Descriptions
 | *Getter* | is_checked()       |
 +----------+--------------------+
 
+Used by the inspector, when the property is checked.
+
 .. _class_EditorProperty_property_draw_red:
 
 - :ref:`bool<class_bool>` **draw_red**
@@ -116,6 +145,8 @@ Property Descriptions
 | *Getter* | is_draw_red()       |
 +----------+---------------------+
 
+Used by the inspector, when the property must draw with error color.
+
 .. _class_EditorProperty_property_keying:
 
 - :ref:`bool<class_bool>` **keying**
@@ -126,6 +157,8 @@ Property Descriptions
 | *Getter* | is_keying()       |
 +----------+-------------------+
 
+Used by the inspector, when the property can add keys for animation/
+
 .. _class_EditorProperty_property_label:
 
 - :ref:`String<class_String>` **label**
@@ -136,6 +169,8 @@ Property Descriptions
 | *Getter* | get_label()      |
 +----------+------------------+
 
+Set this property to change the label (if you want to show one)
+
 .. _class_EditorProperty_property_read_only:
 
 - :ref:`bool<class_bool>` **read_only**
@@ -146,26 +181,50 @@ Property Descriptions
 | *Getter* | is_read_only()       |
 +----------+----------------------+
 
+Used by the inspector, when the property is read-only.
+
 Method Descriptions
 -------------------
 
+.. _class_EditorProperty_method_add_focusable:
+
+- void **add_focusable** **(** :ref:`Control<class_Control>` control **)**
+
+If any of the controls added can gain keyboard focus, add it here. This ensures that focus will be restored if the inspector is refreshed.
+
 .. _class_EditorProperty_method_emit_changed:
 
 - void **emit_changed** **(** :ref:`String<class_String>` property, :ref:`Variant<class_Variant>` value, :ref:`String<class_String>` field="", :ref:`bool<class_bool>` changing=false **)**
 
+If one (or many properties) changed, this must be called. "Field" is used in case your editor can modify fields separately (as an example, Vector3.x). The "changing" argument avoids the editor requesting this property to be refreshed (leave as false if unsure).
+
 .. _class_EditorProperty_method_get_edited_object:
 
 - :ref:`Object<class_Object>` **get_edited_object** **(** **)**
 
+Get the edited object.
+
 .. _class_EditorProperty_method_get_edited_property:
 
 - :ref:`String<class_String>` **get_edited_property** **(** **)**
 
+Get the edited property. If your editor is for a single property (added via :ref:`EditorInspectorPlugin.parse_property<class_EditorInspectorPlugin_method_parse_property>`), then this will return it..
+
 .. _class_EditorProperty_method_get_tooltip_text:
 
 - :ref:`String<class_String>` **get_tooltip_text** **(** **)** const
 
+Override if you want to allow a custom tooltip over your property.
+
+.. _class_EditorProperty_method_set_bottom_editor:
+
+- void **set_bottom_editor** **(** :ref:`Control<class_Control>` editor **)**
+
+Add controls with this function if you want them on the bottom (below the label).
+
 .. _class_EditorProperty_method_update_property:
 
 - void **update_property** **(** **)** virtual
 
+When this virtual function is called, you must update your editor.
+

+ 2 - 0
classes/class_editorsceneimporter.rst

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

+ 46 - 0
classes/class_editorsceneimporterassimp.rst

@@ -0,0 +1,46 @@
+.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. DO NOT EDIT THIS FILE, but the EditorSceneImporterAssimp.xml source instead.
+.. The source is found in doc/classes or modules/<name>/doc_classes.
+
+.. _class_EditorSceneImporterAssimp:
+
+EditorSceneImporterAssimp
+=========================
+
+**Inherits:** :ref:`EditorSceneImporter<class_EditorSceneImporter>` **<** :ref:`Reference<class_Reference>` **<** :ref:`Object<class_Object>`
+
+**Category:** Core
+
+Brief Description
+-----------------
+
+This is a multi-format 3d asset importer.
+
+Description
+-----------
+
+This is a multi-format 3d asset importer.
+
+Use these FBX export settings from Autodesk Maya.
+
+::
+
+    * Smoothing Groups
+    * Smooth Mesh
+    * Triangluate (For mesh with blendshapes)
+    * Bake Animation
+    * Resample All
+    * Deformed Models
+    * Skins
+    * Blend Shapes
+    * Curve Filters
+    * Constant Key Reducer
+    * Auto Tangents Only
+    * DO NOT CHECK Constraints (Will Break File)
+    * Can check Embed Media (Embeds textures into FBX file to import)
+    -- Note: When importing embed media, texture and mesh will be a un-alterable file.
+    --       Reimport of fbx with updated texture is need if texture is updated.
+    * Units: Centimeters
+    * Up Axis: Y
+    * Binary format in FBX 2017
+

+ 1 - 1
classes/class_editorspatialgizmo.rst

@@ -107,7 +107,7 @@ Add an unscaled billboard for visualization. Call this function during :ref:`red
 
 Commit a handle being edited (handles must have been previously added by :ref:`add_handles<class_EditorSpatialGizmo_method_add_handles>`).
 
-If the cancel parameter is true, an option to restore the edited value to the original is provided.
+If the cancel parameter is ``true``, an option to restore the edited value to the original is provided.
 
 .. _class_EditorSpatialGizmo_method_get_handle_name:
 

+ 2 - 2
classes/class_editorspatialgizmoplugin.rst

@@ -58,7 +58,7 @@ Methods
 Description
 -----------
 
-EditorSpatialGizmoPlugin allows you to define a new type of Gizmo. There are two main ways to do so: extending :ref:`EditorSpatialGizmoPlugin<class_EditorSpatialGizmoPlugin>` for the simpler gizmos, or creating a new :ref:`EditorSpatialGizmo<class_EditorSpatialGizmo>` type. See the tutorial in the documentation for more info.
+EditorSpatialGizmoPlugin allows you to define a new type of Gizmo. There are two main ways to do so: extending ``EditorSpatialGizmoPlugin`` for the simpler gizmos, or creating a new :ref:`EditorSpatialGizmo<class_EditorSpatialGizmo>` type. See the tutorial in the documentation for more info.
 
 Tutorials
 ---------
@@ -78,7 +78,7 @@ Adds a new material to the internal material list for the plugin. It can then be
 
 - :ref:`bool<class_bool>` **can_be_hidden** **(** **)** virtual
 
-Override this method to define whether the gizmo can be hidden or not. Defaults to true.
+Override this method to define whether the gizmo can be hidden or not. Defaults to ``true``.
 
 .. _class_EditorSpatialGizmoPlugin_method_commit_handle:
 

+ 1 - 1
classes/class_environment.rst

@@ -385,7 +385,7 @@ Global contrast value of the rendered scene (default value is 1).
 | *Getter* | is_adjustment_enabled()      |
 +----------+------------------------------+
 
-Enables the adjustment\_\* options provided by this resource. If false, adjustments modifications will have no effect on the rendered scene.
+Enables the adjustment\_\* options provided by this resource. If ``false``, adjustments modifications will have no effect on the rendered scene.
 
 .. _class_Environment_property_adjustment_saturation:
 

+ 115 - 97
classes/class_file.rst

@@ -26,95 +26,95 @@ Properties
 Methods
 -------
 
-+-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                          | :ref:`close<class_File_method_close>` **(** **)**                                                                                                                                            |
-+-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                       | :ref:`eof_reached<class_File_method_eof_reached>` **(** **)** const                                                                                                                          |
-+-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                       | :ref:`file_exists<class_File_method_file_exists>` **(** :ref:`String<class_String>` path **)** const                                                                                         |
-+-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                         | :ref:`get_16<class_File_method_get_16>` **(** **)** const                                                                                                                                    |
-+-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                         | :ref:`get_32<class_File_method_get_32>` **(** **)** const                                                                                                                                    |
-+-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                         | :ref:`get_64<class_File_method_get_64>` **(** **)** const                                                                                                                                    |
-+-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                         | :ref:`get_8<class_File_method_get_8>` **(** **)** const                                                                                                                                      |
-+-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_String>`                   | :ref:`get_as_text<class_File_method_get_as_text>` **(** **)** const                                                                                                                          |
-+-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`PoolByteArray<class_PoolByteArray>`     | :ref:`get_buffer<class_File_method_get_buffer>` **(** :ref:`int<class_int>` len **)** const                                                                                                  |
-+-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`PoolStringArray<class_PoolStringArray>` | :ref:`get_csv_line<class_File_method_get_csv_line>` **(** :ref:`String<class_String>` delim="," **)** const                                                                                  |
-+-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`                     | :ref:`get_double<class_File_method_get_double>` **(** **)** const                                                                                                                            |
-+-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Error<enum_@GlobalScope_Error>`         | :ref:`get_error<class_File_method_get_error>` **(** **)** const                                                                                                                              |
-+-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`                     | :ref:`get_float<class_File_method_get_float>` **(** **)** const                                                                                                                              |
-+-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                         | :ref:`get_len<class_File_method_get_len>` **(** **)** const                                                                                                                                  |
-+-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_String>`                   | :ref:`get_line<class_File_method_get_line>` **(** **)** const                                                                                                                                |
-+-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_String>`                   | :ref:`get_md5<class_File_method_get_md5>` **(** :ref:`String<class_String>` path **)** const                                                                                                 |
-+-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                         | :ref:`get_modified_time<class_File_method_get_modified_time>` **(** :ref:`String<class_String>` file **)** const                                                                             |
-+-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_String>`                   | :ref:`get_pascal_string<class_File_method_get_pascal_string>` **(** **)**                                                                                                                    |
-+-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_String>`                   | :ref:`get_path<class_File_method_get_path>` **(** **)** const                                                                                                                                |
-+-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_String>`                   | :ref:`get_path_absolute<class_File_method_get_path_absolute>` **(** **)** const                                                                                                              |
-+-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                         | :ref:`get_position<class_File_method_get_position>` **(** **)** const                                                                                                                        |
-+-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`                     | :ref:`get_real<class_File_method_get_real>` **(** **)** const                                                                                                                                |
-+-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :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:`bool<class_bool>`                       | :ref:`is_open<class_File_method_is_open>` **(** **)** const                                                                                                                                  |
-+-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Error<enum_@GlobalScope_Error>`         | :ref:`open<class_File_method_open>` **(** :ref:`String<class_String>` path, :ref:`int<class_int>` flags **)**                                                                                |
-+-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Error<enum_@GlobalScope_Error>`         | :ref:`open_compressed<class_File_method_open_compressed>` **(** :ref:`String<class_String>` path, :ref:`int<class_int>` mode_flags, :ref:`int<class_int>` compression_mode=0 **)**           |
-+-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Error<enum_@GlobalScope_Error>`         | :ref:`open_encrypted<class_File_method_open_encrypted>` **(** :ref:`String<class_String>` path, :ref:`int<class_int>` mode_flags, :ref:`PoolByteArray<class_PoolByteArray>` key **)**        |
-+-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Error<enum_@GlobalScope_Error>`         | :ref:`open_encrypted_with_pass<class_File_method_open_encrypted_with_pass>` **(** :ref:`String<class_String>` path, :ref:`int<class_int>` mode_flags, :ref:`String<class_String>` pass **)** |
-+-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                          | :ref:`seek<class_File_method_seek>` **(** :ref:`int<class_int>` position **)**                                                                                                               |
-+-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                          | :ref:`seek_end<class_File_method_seek_end>` **(** :ref:`int<class_int>` position=0 **)**                                                                                                     |
-+-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                          | :ref:`store_16<class_File_method_store_16>` **(** :ref:`int<class_int>` value **)**                                                                                                          |
-+-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                          | :ref:`store_32<class_File_method_store_32>` **(** :ref:`int<class_int>` value **)**                                                                                                          |
-+-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                          | :ref:`store_64<class_File_method_store_64>` **(** :ref:`int<class_int>` value **)**                                                                                                          |
-+-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                          | :ref:`store_8<class_File_method_store_8>` **(** :ref:`int<class_int>` value **)**                                                                                                            |
-+-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                          | :ref:`store_buffer<class_File_method_store_buffer>` **(** :ref:`PoolByteArray<class_PoolByteArray>` buffer **)**                                                                             |
-+-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                          | :ref:`store_csv_line<class_File_method_store_csv_line>` **(** :ref:`PoolStringArray<class_PoolStringArray>` values, :ref:`String<class_String>` delim="," **)**                              |
-+-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                          | :ref:`store_double<class_File_method_store_double>` **(** :ref:`float<class_float>` value **)**                                                                                              |
-+-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                          | :ref:`store_float<class_File_method_store_float>` **(** :ref:`float<class_float>` value **)**                                                                                                |
-+-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                          | :ref:`store_line<class_File_method_store_line>` **(** :ref:`String<class_String>` line **)**                                                                                                 |
-+-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                          | :ref:`store_pascal_string<class_File_method_store_pascal_string>` **(** :ref:`String<class_String>` string **)**                                                                             |
-+-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                          | :ref:`store_real<class_File_method_store_real>` **(** :ref:`float<class_float>` value **)**                                                                                                  |
-+-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| 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:`close<class_File_method_close>` **(** **)**                                                                                                                                                                              |
++-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                       | :ref:`eof_reached<class_File_method_eof_reached>` **(** **)** const                                                                                                                                                            |
++-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                       | :ref:`file_exists<class_File_method_file_exists>` **(** :ref:`String<class_String>` path **)** const                                                                                                                           |
++-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                         | :ref:`get_16<class_File_method_get_16>` **(** **)** const                                                                                                                                                                      |
++-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                         | :ref:`get_32<class_File_method_get_32>` **(** **)** const                                                                                                                                                                      |
++-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                         | :ref:`get_64<class_File_method_get_64>` **(** **)** const                                                                                                                                                                      |
++-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                         | :ref:`get_8<class_File_method_get_8>` **(** **)** const                                                                                                                                                                        |
++-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_String>`                   | :ref:`get_as_text<class_File_method_get_as_text>` **(** **)** const                                                                                                                                                            |
++-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`PoolByteArray<class_PoolByteArray>`     | :ref:`get_buffer<class_File_method_get_buffer>` **(** :ref:`int<class_int>` len **)** const                                                                                                                                    |
++-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`PoolStringArray<class_PoolStringArray>` | :ref:`get_csv_line<class_File_method_get_csv_line>` **(** :ref:`String<class_String>` delim="," **)** const                                                                                                                    |
++-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`                     | :ref:`get_double<class_File_method_get_double>` **(** **)** const                                                                                                                                                              |
++-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Error<enum_@GlobalScope_Error>`         | :ref:`get_error<class_File_method_get_error>` **(** **)** const                                                                                                                                                                |
++-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`                     | :ref:`get_float<class_File_method_get_float>` **(** **)** const                                                                                                                                                                |
++-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                         | :ref:`get_len<class_File_method_get_len>` **(** **)** const                                                                                                                                                                    |
++-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_String>`                   | :ref:`get_line<class_File_method_get_line>` **(** **)** const                                                                                                                                                                  |
++-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_String>`                   | :ref:`get_md5<class_File_method_get_md5>` **(** :ref:`String<class_String>` path **)** const                                                                                                                                   |
++-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                         | :ref:`get_modified_time<class_File_method_get_modified_time>` **(** :ref:`String<class_String>` file **)** const                                                                                                               |
++-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_String>`                   | :ref:`get_pascal_string<class_File_method_get_pascal_string>` **(** **)**                                                                                                                                                      |
++-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_String>`                   | :ref:`get_path<class_File_method_get_path>` **(** **)** const                                                                                                                                                                  |
++-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_String>`                   | :ref:`get_path_absolute<class_File_method_get_path_absolute>` **(** **)** const                                                                                                                                                |
++-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                         | :ref:`get_position<class_File_method_get_position>` **(** **)** const                                                                                                                                                          |
++-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`                     | :ref:`get_real<class_File_method_get_real>` **(** **)** const                                                                                                                                                                  |
++-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :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>` **(** :ref:`bool<class_bool>` allow_objects=false **)** const                                                                                                                        |
++-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                       | :ref:`is_open<class_File_method_is_open>` **(** **)** const                                                                                                                                                                    |
++-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Error<enum_@GlobalScope_Error>`         | :ref:`open<class_File_method_open>` **(** :ref:`String<class_String>` path, :ref:`ModeFlags<enum_File_ModeFlags>` flags **)**                                                                                                  |
++-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Error<enum_@GlobalScope_Error>`         | :ref:`open_compressed<class_File_method_open_compressed>` **(** :ref:`String<class_String>` path, :ref:`ModeFlags<enum_File_ModeFlags>` mode_flags, :ref:`CompressionMode<enum_File_CompressionMode>` compression_mode=0 **)** |
++-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Error<enum_@GlobalScope_Error>`         | :ref:`open_encrypted<class_File_method_open_encrypted>` **(** :ref:`String<class_String>` path, :ref:`ModeFlags<enum_File_ModeFlags>` mode_flags, :ref:`PoolByteArray<class_PoolByteArray>` key **)**                          |
++-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Error<enum_@GlobalScope_Error>`         | :ref:`open_encrypted_with_pass<class_File_method_open_encrypted_with_pass>` **(** :ref:`String<class_String>` path, :ref:`ModeFlags<enum_File_ModeFlags>` mode_flags, :ref:`String<class_String>` pass **)**                   |
++-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                          | :ref:`seek<class_File_method_seek>` **(** :ref:`int<class_int>` position **)**                                                                                                                                                 |
++-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                          | :ref:`seek_end<class_File_method_seek_end>` **(** :ref:`int<class_int>` position=0 **)**                                                                                                                                       |
++-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                          | :ref:`store_16<class_File_method_store_16>` **(** :ref:`int<class_int>` value **)**                                                                                                                                            |
++-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                          | :ref:`store_32<class_File_method_store_32>` **(** :ref:`int<class_int>` value **)**                                                                                                                                            |
++-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                          | :ref:`store_64<class_File_method_store_64>` **(** :ref:`int<class_int>` value **)**                                                                                                                                            |
++-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                          | :ref:`store_8<class_File_method_store_8>` **(** :ref:`int<class_int>` value **)**                                                                                                                                              |
++-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                          | :ref:`store_buffer<class_File_method_store_buffer>` **(** :ref:`PoolByteArray<class_PoolByteArray>` buffer **)**                                                                                                               |
++-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                          | :ref:`store_csv_line<class_File_method_store_csv_line>` **(** :ref:`PoolStringArray<class_PoolStringArray>` values, :ref:`String<class_String>` delim="," **)**                                                                |
++-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                          | :ref:`store_double<class_File_method_store_double>` **(** :ref:`float<class_float>` value **)**                                                                                                                                |
++-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                          | :ref:`store_float<class_File_method_store_float>` **(** :ref:`float<class_float>` value **)**                                                                                                                                  |
++-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                          | :ref:`store_line<class_File_method_store_line>` **(** :ref:`String<class_String>` line **)**                                                                                                                                   |
++-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                          | :ref:`store_pascal_string<class_File_method_store_pascal_string>` **(** :ref:`String<class_String>` string **)**                                                                                                               |
++-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                          | :ref:`store_real<class_File_method_store_real>` **(** :ref:`float<class_float>` value **)**                                                                                                                                    |
++-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| 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, :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:
 
@@ -360,25 +370,25 @@ Returns ``true`` if the file is currently opened.
 
 .. _class_File_method_open:
 
-- :ref:`Error<enum_@GlobalScope_Error>` **open** **(** :ref:`String<class_String>` path, :ref:`int<class_int>` flags **)**
+- :ref:`Error<enum_@GlobalScope_Error>` **open** **(** :ref:`String<class_String>` path, :ref:`ModeFlags<enum_File_ModeFlags>` flags **)**
 
 Opens the file for writing or reading, depending on the flags.
 
 .. _class_File_method_open_compressed:
 
-- :ref:`Error<enum_@GlobalScope_Error>` **open_compressed** **(** :ref:`String<class_String>` path, :ref:`int<class_int>` mode_flags, :ref:`int<class_int>` compression_mode=0 **)**
+- :ref:`Error<enum_@GlobalScope_Error>` **open_compressed** **(** :ref:`String<class_String>` path, :ref:`ModeFlags<enum_File_ModeFlags>` mode_flags, :ref:`CompressionMode<enum_File_CompressionMode>` compression_mode=0 **)**
 
 Opens a compressed file for reading or writing. Use COMPRESSION\_\* constants to set ``compression_mode``.
 
 .. _class_File_method_open_encrypted:
 
-- :ref:`Error<enum_@GlobalScope_Error>` **open_encrypted** **(** :ref:`String<class_String>` path, :ref:`int<class_int>` mode_flags, :ref:`PoolByteArray<class_PoolByteArray>` key **)**
+- :ref:`Error<enum_@GlobalScope_Error>` **open_encrypted** **(** :ref:`String<class_String>` path, :ref:`ModeFlags<enum_File_ModeFlags>` mode_flags, :ref:`PoolByteArray<class_PoolByteArray>` key **)**
 
 Opens an encrypted file in write or read mode. You need to pass a binary key to encrypt/decrypt it.
 
 .. _class_File_method_open_encrypted_with_pass:
 
-- :ref:`Error<enum_@GlobalScope_Error>` **open_encrypted_with_pass** **(** :ref:`String<class_String>` path, :ref:`int<class_int>` mode_flags, :ref:`String<class_String>` pass **)**
+- :ref:`Error<enum_@GlobalScope_Error>` **open_encrypted_with_pass** **(** :ref:`String<class_String>` path, :ref:`ModeFlags<enum_File_ModeFlags>` mode_flags, :ref:`String<class_String>` pass **)**
 
 Opens an encrypted file in write or read mode. You need to pass a password to encrypt/decrypt it.
 
@@ -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).
 

+ 1 - 1
classes/class_geometryinstance.rst

@@ -9,7 +9,7 @@ GeometryInstance
 
 **Inherits:** :ref:`VisualInstance<class_VisualInstance>` **<** :ref:`Spatial<class_Spatial>` **<** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>`
 
-**Inherited By:** :ref:`CPUParticles<class_CPUParticles>`, :ref:`ImmediateGeometry<class_ImmediateGeometry>`, :ref:`MeshInstance<class_MeshInstance>`, :ref:`MultiMeshInstance<class_MultiMeshInstance>`, :ref:`Particles<class_Particles>`, :ref:`SpriteBase3D<class_SpriteBase3D>`
+**Inherited By:** :ref:`CPUParticles<class_CPUParticles>`, :ref:`CSGShape<class_CSGShape>`, :ref:`ImmediateGeometry<class_ImmediateGeometry>`, :ref:`MeshInstance<class_MeshInstance>`, :ref:`MultiMeshInstance<class_MultiMeshInstance>`, :ref:`Particles<class_Particles>`, :ref:`SpriteBase3D<class_SpriteBase3D>`
 
 **Category:** Core
 

+ 1 - 1
classes/class_graphedit.rst

@@ -277,7 +277,7 @@ Return an Array containing the list of connections. A connection consists in a s
 
 - :ref:`bool<class_bool>` **is_node_connected** **(** :ref:`String<class_String>` from, :ref:`int<class_int>` from_port, :ref:`String<class_String>` to, :ref:`int<class_int>` to_port **)**
 
-Return true if the 'from_port' slot of 'from' GraphNode is connected to the 'to_port' slot of 'to' GraphNode.
+Return ``true`` if the 'from_port' slot of 'from' GraphNode is connected to the 'to_port' slot of 'to' GraphNode.
 
 .. _class_GraphEdit_method_is_valid_connection_type:
 

+ 2 - 2
classes/class_graphnode.rst

@@ -336,13 +336,13 @@ Return the (integer) type of right (output) 'idx' slot.
 
 - :ref:`bool<class_bool>` **is_slot_enabled_left** **(** :ref:`int<class_int>` idx **)** const
 
-Return true if left (input) slot 'idx' is enabled. False otherwise.
+Return ``true`` if left (input) slot 'idx' is enabled, ``false`` otherwise.
 
 .. _class_GraphNode_method_is_slot_enabled_right:
 
 - :ref:`bool<class_bool>` **is_slot_enabled_right** **(** :ref:`int<class_int>` idx **)** const
 
-Return true if right (output) slot 'idx' is enabled. False otherwise.
+Return ``true`` if right (output) slot 'idx' is enabled, ``false`` otherwise.
 
 .. _class_GraphNode_method_set_slot:
 

+ 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>`.
+

+ 2 - 2
classes/class_httpclient.rst

@@ -311,7 +311,7 @@ enum **ResponseCode**:
 
 - **RESPONSE_SEE_OTHER** = **303** --- HTTP status code ``303 See Other``. The server is redirecting the user agent to a different resource, as indicated by a URI in the Location header field, which is intended to provide an indirect response to the original request.
 
-- **RESPONSE_NOT_MODIFIED** = **304** --- HTTP status code ``304 Not Modified``. A conditional GET or HEAD request has been received and would have resulted in a 200 OK response if it were not for the fact that the condition evaluated to false.
+- **RESPONSE_NOT_MODIFIED** = **304** --- HTTP status code ``304 Not Modified``. A conditional GET or HEAD request has been received and would have resulted in a 200 OK response if it were not for the fact that the condition evaluated to ``false``.
 
 - **RESPONSE_USE_PROXY** = **305** --- HTTP status code ``305 Use Proxy``. Deprecated. Do not use.
 
@@ -345,7 +345,7 @@ enum **ResponseCode**:
 
 - **RESPONSE_LENGTH_REQUIRED** = **411** --- HTTP status code ``411 Length Required``. The server refuses to accept the request without a defined Content-Length header.
 
-- **RESPONSE_PRECONDITION_FAILED** = **412** --- HTTP status code ``412 Precondition Failed``. One or more conditions given in the request header fields evaluated to false when tested on the server.
+- **RESPONSE_PRECONDITION_FAILED** = **412** --- HTTP status code ``412 Precondition Failed``. One or more conditions given in the request header fields evaluated to ``false`` when tested on the server.
 
 - **RESPONSE_REQUEST_ENTITY_TOO_LARGE** = **413** --- HTTP status code ``413 Entity Too Large``. The server is refusing to process a request because the request payload is larger than the server is willing or able to process.
 

+ 2 - 2
classes/class_image.rst

@@ -453,13 +453,13 @@ Copies ``src`` image to this image.
 
 - void **create** **(** :ref:`int<class_int>` width, :ref:`int<class_int>` height, :ref:`bool<class_bool>` use_mipmaps, :ref:`Format<enum_Image_Format>` format **)**
 
-Creates an empty image of given size and format. See ``FORMAT_*`` constants. If ``use_mipmaps`` is true then generate mipmaps for this image. See the ``generate_mipmaps`` method.
+Creates an empty image of given size and format. See ``FORMAT_*`` constants. If ``use_mipmaps`` is ``true`` then generate mipmaps for this image. See the ``generate_mipmaps`` method.
 
 .. _class_Image_method_create_from_data:
 
 - void **create_from_data** **(** :ref:`int<class_int>` width, :ref:`int<class_int>` height, :ref:`bool<class_bool>` use_mipmaps, :ref:`Format<enum_Image_Format>` format, :ref:`PoolByteArray<class_PoolByteArray>` data **)**
 
-Creates a new image of given size and format. See ``FORMAT_*`` constants. Fills the image with the given raw data. If ``use_mipmaps`` is true then generate mipmaps for this image. See the ``generate_mipmaps`` method.
+Creates a new image of given size and format. See ``FORMAT_*`` constants. Fills the image with the given raw data. If ``use_mipmaps`` is ``true`` then generate mipmaps for this image. See the ``generate_mipmaps`` method.
 
 .. _class_Image_method_crop:
 

+ 92 - 86
classes/class_input.rst

@@ -21,83 +21,85 @@ A Singleton that deals with inputs.
 Methods
 -------
 
-+----------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                   | :ref:`action_press<class_Input_method_action_press>` **(** :ref:`String<class_String>` action, :ref:`float<class_float>` strength=1.0 **)**                                                                                             |
-+----------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                   | :ref:`action_release<class_Input_method_action_release>` **(** :ref:`String<class_String>` action **)**                                                                                                                                 |
-+----------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                   | :ref:`add_joy_mapping<class_Input_method_add_joy_mapping>` **(** :ref:`String<class_String>` mapping, :ref:`bool<class_bool>` update_existing=false **)**                                                                               |
-+----------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Vector3<class_Vector3>`          | :ref:`get_accelerometer<class_Input_method_get_accelerometer>` **(** **)** const                                                                                                                                                        |
-+----------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`              | :ref:`get_action_strength<class_Input_method_get_action_strength>` **(** :ref:`String<class_String>` action **)** const                                                                                                                 |
-+----------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Array<class_Array>`              | :ref:`get_connected_joypads<class_Input_method_get_connected_joypads>` **(** **)**                                                                                                                                                      |
-+----------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Vector3<class_Vector3>`          | :ref:`get_gravity<class_Input_method_get_gravity>` **(** **)** const                                                                                                                                                                    |
-+----------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Vector3<class_Vector3>`          | :ref:`get_gyroscope<class_Input_method_get_gyroscope>` **(** **)** const                                                                                                                                                                |
-+----------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`              | :ref:`get_joy_axis<class_Input_method_get_joy_axis>` **(** :ref:`int<class_int>` device, :ref:`int<class_int>` axis **)** const                                                                                                         |
-+----------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                  | :ref:`get_joy_axis_index_from_string<class_Input_method_get_joy_axis_index_from_string>` **(** :ref:`String<class_String>` axis **)**                                                                                                   |
-+----------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_String>`            | :ref:`get_joy_axis_string<class_Input_method_get_joy_axis_string>` **(** :ref:`int<class_int>` axis_index **)**                                                                                                                         |
-+----------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                  | :ref:`get_joy_button_index_from_string<class_Input_method_get_joy_button_index_from_string>` **(** :ref:`String<class_String>` button **)**                                                                                             |
-+----------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_String>`            | :ref:`get_joy_button_string<class_Input_method_get_joy_button_string>` **(** :ref:`int<class_int>` button_index **)**                                                                                                                   |
-+----------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_String>`            | :ref:`get_joy_guid<class_Input_method_get_joy_guid>` **(** :ref:`int<class_int>` device **)** const                                                                                                                                     |
-+----------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_String>`            | :ref:`get_joy_name<class_Input_method_get_joy_name>` **(** :ref:`int<class_int>` device **)**                                                                                                                                           |
-+----------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`              | :ref:`get_joy_vibration_duration<class_Input_method_get_joy_vibration_duration>` **(** :ref:`int<class_int>` device **)**                                                                                                               |
-+----------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Vector2<class_Vector2>`          | :ref:`get_joy_vibration_strength<class_Input_method_get_joy_vibration_strength>` **(** :ref:`int<class_int>` device **)**                                                                                                               |
-+----------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Vector2<class_Vector2>`          | :ref:`get_last_mouse_speed<class_Input_method_get_last_mouse_speed>` **(** **)** const                                                                                                                                                  |
-+----------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Vector3<class_Vector3>`          | :ref:`get_magnetometer<class_Input_method_get_magnetometer>` **(** **)** const                                                                                                                                                          |
-+----------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                  | :ref:`get_mouse_button_mask<class_Input_method_get_mouse_button_mask>` **(** **)** const                                                                                                                                                |
-+----------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`MouseMode<enum_Input_MouseMode>` | :ref:`get_mouse_mode<class_Input_method_get_mouse_mode>` **(** **)** const                                                                                                                                                              |
-+----------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                | :ref:`is_action_just_pressed<class_Input_method_is_action_just_pressed>` **(** :ref:`String<class_String>` action **)** const                                                                                                           |
-+----------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                | :ref:`is_action_just_released<class_Input_method_is_action_just_released>` **(** :ref:`String<class_String>` action **)** const                                                                                                         |
-+----------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                | :ref:`is_action_pressed<class_Input_method_is_action_pressed>` **(** :ref:`String<class_String>` action **)** const                                                                                                                     |
-+----------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                | :ref:`is_joy_button_pressed<class_Input_method_is_joy_button_pressed>` **(** :ref:`int<class_int>` device, :ref:`int<class_int>` button **)** const                                                                                     |
-+----------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                | :ref:`is_joy_known<class_Input_method_is_joy_known>` **(** :ref:`int<class_int>` device **)**                                                                                                                                           |
-+----------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                | :ref:`is_key_pressed<class_Input_method_is_key_pressed>` **(** :ref:`int<class_int>` scancode **)** const                                                                                                                               |
-+----------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                | :ref:`is_mouse_button_pressed<class_Input_method_is_mouse_button_pressed>` **(** :ref:`int<class_int>` button **)** const                                                                                                               |
-+----------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                   | :ref:`joy_connection_changed<class_Input_method_joy_connection_changed>` **(** :ref:`int<class_int>` device, :ref:`bool<class_bool>` connected, :ref:`String<class_String>` name, :ref:`String<class_String>` guid **)**                |
-+----------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                   | :ref:`parse_input_event<class_Input_method_parse_input_event>` **(** :ref:`InputEvent<class_InputEvent>` event **)**                                                                                                                    |
-+----------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                   | :ref:`remove_joy_mapping<class_Input_method_remove_joy_mapping>` **(** :ref:`String<class_String>` guid **)**                                                                                                                           |
-+----------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                   | :ref:`set_custom_mouse_cursor<class_Input_method_set_custom_mouse_cursor>` **(** :ref:`Resource<class_Resource>` image, :ref:`CursorShape<enum_Input_CursorShape>` shape=0, :ref:`Vector2<class_Vector2>` hotspot=Vector2( 0, 0 ) **)** |
-+----------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                   | :ref:`set_default_cursor_shape<class_Input_method_set_default_cursor_shape>` **(** :ref:`CursorShape<enum_Input_CursorShape>` shape=0 **)**                                                                                             |
-+----------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                   | :ref:`set_mouse_mode<class_Input_method_set_mouse_mode>` **(** :ref:`MouseMode<enum_Input_MouseMode>` mode **)**                                                                                                                        |
-+----------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                   | :ref:`set_use_accumulated_input<class_Input_method_set_use_accumulated_input>` **(** :ref:`bool<class_bool>` enable **)**                                                                                                               |
-+----------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                   | :ref:`start_joy_vibration<class_Input_method_start_joy_vibration>` **(** :ref:`int<class_int>` device, :ref:`float<class_float>` weak_magnitude, :ref:`float<class_float>` strong_magnitude, :ref:`float<class_float>` duration=0 **)** |
-+----------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                   | :ref:`stop_joy_vibration<class_Input_method_stop_joy_vibration>` **(** :ref:`int<class_int>` device **)**                                                                                                                               |
-+----------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                   | :ref:`warp_mouse_position<class_Input_method_warp_mouse_position>` **(** :ref:`Vector2<class_Vector2>` to **)**                                                                                                                         |
-+----------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
++--------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                       | :ref:`action_press<class_Input_method_action_press>` **(** :ref:`String<class_String>` action, :ref:`float<class_float>` strength=1.0 **)**                                                                                             |
++--------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                       | :ref:`action_release<class_Input_method_action_release>` **(** :ref:`String<class_String>` action **)**                                                                                                                                 |
++--------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                       | :ref:`add_joy_mapping<class_Input_method_add_joy_mapping>` **(** :ref:`String<class_String>` mapping, :ref:`bool<class_bool>` update_existing=false **)**                                                                               |
++--------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Vector3<class_Vector3>`              | :ref:`get_accelerometer<class_Input_method_get_accelerometer>` **(** **)** const                                                                                                                                                        |
++--------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`                  | :ref:`get_action_strength<class_Input_method_get_action_strength>` **(** :ref:`String<class_String>` action **)** const                                                                                                                 |
++--------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Array<class_Array>`                  | :ref:`get_connected_joypads<class_Input_method_get_connected_joypads>` **(** **)**                                                                                                                                                      |
++--------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`CursorShape<enum_Input_CursorShape>` | :ref:`get_current_cursor_shape<class_Input_method_get_current_cursor_shape>` **(** **)** const                                                                                                                                          |
++--------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Vector3<class_Vector3>`              | :ref:`get_gravity<class_Input_method_get_gravity>` **(** **)** const                                                                                                                                                                    |
++--------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Vector3<class_Vector3>`              | :ref:`get_gyroscope<class_Input_method_get_gyroscope>` **(** **)** const                                                                                                                                                                |
++--------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`                  | :ref:`get_joy_axis<class_Input_method_get_joy_axis>` **(** :ref:`int<class_int>` device, :ref:`int<class_int>` axis **)** const                                                                                                         |
++--------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                      | :ref:`get_joy_axis_index_from_string<class_Input_method_get_joy_axis_index_from_string>` **(** :ref:`String<class_String>` axis **)**                                                                                                   |
++--------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_String>`                | :ref:`get_joy_axis_string<class_Input_method_get_joy_axis_string>` **(** :ref:`int<class_int>` axis_index **)**                                                                                                                         |
++--------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                      | :ref:`get_joy_button_index_from_string<class_Input_method_get_joy_button_index_from_string>` **(** :ref:`String<class_String>` button **)**                                                                                             |
++--------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_String>`                | :ref:`get_joy_button_string<class_Input_method_get_joy_button_string>` **(** :ref:`int<class_int>` button_index **)**                                                                                                                   |
++--------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_String>`                | :ref:`get_joy_guid<class_Input_method_get_joy_guid>` **(** :ref:`int<class_int>` device **)** const                                                                                                                                     |
++--------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_String>`                | :ref:`get_joy_name<class_Input_method_get_joy_name>` **(** :ref:`int<class_int>` device **)**                                                                                                                                           |
++--------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`                  | :ref:`get_joy_vibration_duration<class_Input_method_get_joy_vibration_duration>` **(** :ref:`int<class_int>` device **)**                                                                                                               |
++--------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Vector2<class_Vector2>`              | :ref:`get_joy_vibration_strength<class_Input_method_get_joy_vibration_strength>` **(** :ref:`int<class_int>` device **)**                                                                                                               |
++--------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Vector2<class_Vector2>`              | :ref:`get_last_mouse_speed<class_Input_method_get_last_mouse_speed>` **(** **)** const                                                                                                                                                  |
++--------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Vector3<class_Vector3>`              | :ref:`get_magnetometer<class_Input_method_get_magnetometer>` **(** **)** const                                                                                                                                                          |
++--------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                      | :ref:`get_mouse_button_mask<class_Input_method_get_mouse_button_mask>` **(** **)** const                                                                                                                                                |
++--------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`MouseMode<enum_Input_MouseMode>`     | :ref:`get_mouse_mode<class_Input_method_get_mouse_mode>` **(** **)** const                                                                                                                                                              |
++--------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                    | :ref:`is_action_just_pressed<class_Input_method_is_action_just_pressed>` **(** :ref:`String<class_String>` action **)** const                                                                                                           |
++--------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                    | :ref:`is_action_just_released<class_Input_method_is_action_just_released>` **(** :ref:`String<class_String>` action **)** const                                                                                                         |
++--------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                    | :ref:`is_action_pressed<class_Input_method_is_action_pressed>` **(** :ref:`String<class_String>` action **)** const                                                                                                                     |
++--------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                    | :ref:`is_joy_button_pressed<class_Input_method_is_joy_button_pressed>` **(** :ref:`int<class_int>` device, :ref:`int<class_int>` button **)** const                                                                                     |
++--------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                    | :ref:`is_joy_known<class_Input_method_is_joy_known>` **(** :ref:`int<class_int>` device **)**                                                                                                                                           |
++--------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                    | :ref:`is_key_pressed<class_Input_method_is_key_pressed>` **(** :ref:`int<class_int>` scancode **)** const                                                                                                                               |
++--------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                    | :ref:`is_mouse_button_pressed<class_Input_method_is_mouse_button_pressed>` **(** :ref:`int<class_int>` button **)** const                                                                                                               |
++--------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                       | :ref:`joy_connection_changed<class_Input_method_joy_connection_changed>` **(** :ref:`int<class_int>` device, :ref:`bool<class_bool>` connected, :ref:`String<class_String>` name, :ref:`String<class_String>` guid **)**                |
++--------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                       | :ref:`parse_input_event<class_Input_method_parse_input_event>` **(** :ref:`InputEvent<class_InputEvent>` event **)**                                                                                                                    |
++--------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                       | :ref:`remove_joy_mapping<class_Input_method_remove_joy_mapping>` **(** :ref:`String<class_String>` guid **)**                                                                                                                           |
++--------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                       | :ref:`set_custom_mouse_cursor<class_Input_method_set_custom_mouse_cursor>` **(** :ref:`Resource<class_Resource>` image, :ref:`CursorShape<enum_Input_CursorShape>` shape=0, :ref:`Vector2<class_Vector2>` hotspot=Vector2( 0, 0 ) **)** |
++--------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                       | :ref:`set_default_cursor_shape<class_Input_method_set_default_cursor_shape>` **(** :ref:`CursorShape<enum_Input_CursorShape>` shape=0 **)**                                                                                             |
++--------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                       | :ref:`set_mouse_mode<class_Input_method_set_mouse_mode>` **(** :ref:`MouseMode<enum_Input_MouseMode>` mode **)**                                                                                                                        |
++--------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                       | :ref:`set_use_accumulated_input<class_Input_method_set_use_accumulated_input>` **(** :ref:`bool<class_bool>` enable **)**                                                                                                               |
++--------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                       | :ref:`start_joy_vibration<class_Input_method_start_joy_vibration>` **(** :ref:`int<class_int>` device, :ref:`float<class_float>` weak_magnitude, :ref:`float<class_float>` strong_magnitude, :ref:`float<class_float>` duration=0 **)** |
++--------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                       | :ref:`stop_joy_vibration<class_Input_method_stop_joy_vibration>` **(** :ref:`int<class_int>` device **)**                                                                                                                               |
++--------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                       | :ref:`warp_mouse_position<class_Input_method_warp_mouse_position>` **(** :ref:`Vector2<class_Vector2>` to **)**                                                                                                                         |
++--------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 
 Signals
 -------
@@ -256,6 +258,10 @@ Returns a value between 0 and 1 representing the intensity of the given action.
 
 Returns an :ref:`Array<class_Array>` containing the device IDs of all currently connected joypads.
 
+.. _class_Input_method_get_current_cursor_shape:
+
+- :ref:`CursorShape<enum_Input_CursorShape>` **get_current_cursor_shape** **(** **)** const
+
 .. _class_Input_method_get_gravity:
 
 - :ref:`Vector3<class_Vector3>` **get_gravity** **(** **)** const
@@ -272,7 +278,7 @@ If the device has a gyroscope, this will return the rate of rotation in rad/s ar
 
 - :ref:`float<class_float>` **get_joy_axis** **(** :ref:`int<class_int>` device, :ref:`int<class_int>` axis **)** const
 
-Returns the current value of the joypad axis at given index (see ``JOY_*`` constants in :ref:`@GlobalScope<class_@GlobalScope>`)
+Returns the current value of the joypad axis at given index (see :ref:`JoystickList<enum_@GlobalScope_JoystickList>`).
 
 .. _class_Input_method_get_joy_axis_index_from_string:
 
@@ -284,7 +290,7 @@ Returns the index of the provided axis name.
 
 - :ref:`String<class_String>` **get_joy_axis_string** **(** :ref:`int<class_int>` axis_index **)**
 
-Receives a ``JOY_AXIS_*`` Enum and returns its equivalent name as a string.
+Receives a :ref:`JoystickList<enum_@GlobalScope_JoystickList>` axis and returns its equivalent name as a string.
 
 .. _class_Input_method_get_joy_button_index_from_string:
 
@@ -296,7 +302,7 @@ Returns the index of the provided button name.
 
 - :ref:`String<class_String>` **get_joy_button_string** **(** :ref:`int<class_int>` button_index **)**
 
-Receives a ``JOY_BUTTON_*`` Enum and returns its equivalent name as a string.
+Receives a joy button from :ref:`JoystickList<enum_@GlobalScope_JoystickList>` and returns its equivalent name as a string.
 
 .. _class_Input_method_get_joy_guid:
 
@@ -350,7 +356,7 @@ Return the mouse mode. See the constants for more information.
 
 - :ref:`bool<class_bool>` **is_action_just_pressed** **(** :ref:`String<class_String>` action **)** const
 
-Returns ``true`` when the user starts pressing the action event, meaning it's true only on the frame that the user pressed down the button.
+Returns ``true`` when the user starts pressing the action event, meaning it's ``true`` only on the frame that the user pressed down the button.
 
 This is useful for code that needs to run only once when an action is pressed, instead of every frame while it's pressed.
 
@@ -358,7 +364,7 @@ This is useful for code that needs to run only once when an action is pressed, i
 
 - :ref:`bool<class_bool>` **is_action_just_released** **(** :ref:`String<class_String>` action **)** const
 
-Returns ``true`` when the user stops pressing the action event, meaning it's true only on the frame that the user released the button.
+Returns ``true`` when the user stops pressing the action event, meaning it's ``true`` only on the frame that the user released the button.
 
 .. _class_Input_method_is_action_pressed:
 
@@ -370,25 +376,25 @@ Returns ``true`` if you are pressing the action event.
 
 - :ref:`bool<class_bool>` **is_joy_button_pressed** **(** :ref:`int<class_int>` device, :ref:`int<class_int>` button **)** const
 
-Returns ``true`` if you are pressing the joypad button. (see ``JOY_*`` constants in :ref:`@GlobalScope<class_@GlobalScope>`)
+Returns ``true`` if you are pressing the joypad button (see :ref:`JoystickList<enum_@GlobalScope_JoystickList>`).
 
 .. _class_Input_method_is_joy_known:
 
 - :ref:`bool<class_bool>` **is_joy_known** **(** :ref:`int<class_int>` device **)**
 
-Returns ``true`` if the system knows the specified device. This means that it sets all button and axis indices exactly as defined in the ``JOY_*`` constants (see :ref:`@GlobalScope<class_@GlobalScope>`). Unknown joypads are not expected to match these constants, but you can still retrieve events from them.
+Returns ``true`` if the system knows the specified device. This means that it sets all button and axis indices exactly as defined in :ref:`JoystickList<enum_@GlobalScope_JoystickList>`. Unknown joypads are not expected to match these constants, but you can still retrieve events from them.
 
 .. _class_Input_method_is_key_pressed:
 
 - :ref:`bool<class_bool>` **is_key_pressed** **(** :ref:`int<class_int>` scancode **)** const
 
-Returns ``true`` if you are pressing the key. You can pass ``KEY_*``, which are pre-defined constants listed in :ref:`@GlobalScope<class_@GlobalScope>`.
+Returns ``true`` if you are pressing the key. You can pass a :ref:`KeyList<enum_@GlobalScope_KeyList>` constant.
 
 .. _class_Input_method_is_mouse_button_pressed:
 
 - :ref:`bool<class_bool>` **is_mouse_button_pressed** **(** :ref:`int<class_int>` button **)** const
 
-Returns ``true`` if you are pressing the mouse button. You can pass ``BUTTON_*``, which are pre-defined constants listed in :ref:`@GlobalScope<class_@GlobalScope>`.
+Returns ``true`` if you are pressing the mouse button specified with :ref:`ButtonList<enum_@GlobalScope_ButtonList>`.
 
 .. _class_Input_method_joy_connection_changed:
 

+ 1 - 1
classes/class_inputeventjoypadbutton.rst

@@ -50,7 +50,7 @@ Property Descriptions
 | *Getter* | get_button_index()      |
 +----------+-------------------------+
 
-Button identifier. One of the ``JOY_BUTTON_*`` constants from :ref:`@GlobalScope<class_@GlobalScope>`.
+Button identifier. One of the :ref:`JoystickList<enum_@GlobalScope_JoystickList>` button constants.
 
 .. _class_InputEventJoypadButton_property_pressed:
 

+ 1 - 1
classes/class_inputeventjoypadmotion.rst

@@ -48,7 +48,7 @@ Property Descriptions
 | *Getter* | get_axis()      |
 +----------+-----------------+
 
-Axis identifier. Use one of the ``JOY_AXIS_*`` constants in :ref:`@GlobalScope<class_@GlobalScope>`.
+Axis identifier. Use one of the :ref:`JoystickList<enum_@GlobalScope_JoystickList>` axis constants.
 
 .. _class_InputEventJoypadMotion_property_axis_value:
 

+ 1 - 1
classes/class_inputeventkey.rst

@@ -83,7 +83,7 @@ If ``true``, the key's state is pressed. If ``false``, the key's state is releas
 | *Getter* | get_scancode()      |
 +----------+---------------------+
 
-Key scancode, one of the ``KEY_*`` constants in :ref:`@GlobalScope<class_@GlobalScope>`.
+Key scancode, one of the :ref:`KeyList<enum_@GlobalScope_KeyList>` constants.
 
 .. _class_InputEventKey_property_unicode:
 

+ 1 - 1
classes/class_inputeventmouse.rst

@@ -52,7 +52,7 @@ Property Descriptions
 | *Getter* | get_button_mask()      |
 +----------+------------------------+
 
-Mouse button mask identifier, one of or a bitwise combination of the BUTTON_MASK\_\* constants in :ref:`@GlobalScope<class_@GlobalScope>`.
+Mouse button mask identifier, one of or a bitwise combination of the :ref:`ButtonList<enum_@GlobalScope_ButtonList>` button masks.
 
 .. _class_InputEventMouse_property_global_position:
 

+ 1 - 1
classes/class_inputeventmousebutton.rst

@@ -52,7 +52,7 @@ Property Descriptions
 | *Getter* | get_button_index()      |
 +----------+-------------------------+
 
-Mouse button identifier, one of the BUTTON\_\* or BUTTON_WHEEL\_\* constants in :ref:`@GlobalScope<class_@GlobalScope>`.
+Mouse button identifier, one of the :ref:`ButtonList<enum_@GlobalScope_ButtonList>` button or button wheel constants.
 
 .. _class_InputEventMouseButton_property_doubleclick:
 

+ 1 - 1
classes/class_itemlist.rst

@@ -372,7 +372,7 @@ Adds an item to the item list with no text, only an icon.
 
 Adds an item to the item list with specified text. Specify an icon of null for a list item with no icon.
 
-If selectable is true the list item will be selectable.
+If selectable is ``true`` the list item will be selectable.
 
 .. _class_ItemList_method_clear:
 

+ 2 - 2
classes/class_kinematicbody.rst

@@ -176,13 +176,13 @@ Moves the body along a vector. If the body collides with another, it will slide
 
 ``floor_normal`` is the up direction, used to determine what is a wall and what is a floor or a ceiling. If set to the default value of ``Vector3(0, 0, 0)``, everything is considered a wall. This is useful for topdown games.
 
-If ``stop_on_slope`` is true, body will not slide on slopes if you include gravity in ``linear_velocity``.
+If ``stop_on_slope`` is ``true``, body will not slide on slopes if you include gravity in ``linear_velocity``.
 
 If the body collides, it will change direction a maximum of ``max_slides`` times before it stops.
 
 ``floor_max_angle`` is the maximum angle (in radians) where a slope is still considered a floor (or a ceiling), rather than a wall. The default value equals 45 degrees.
 
-If ``infinite_inertia`` is true, body will be able to push :ref:`RigidBody<class_RigidBody>` nodes, but it won't also detect any collisions with them. When false, it will interact with :ref:`RigidBody<class_RigidBody>` nodes like with :ref:`StaticBody<class_StaticBody>`.
+If ``infinite_inertia`` is ``true``, body will be able to push :ref:`RigidBody<class_RigidBody>` nodes, but it won't also detect any collisions with them. If ``false`` it will interact with :ref:`RigidBody<class_RigidBody>` nodes like with :ref:`StaticBody<class_StaticBody>`.
 
 Returns the ``linear_velocity`` vector, rotated and/or scaled if a slide collision occurred. To get detailed information about collisions that occurred, use :ref:`get_slide_collision<class_KinematicBody_method_get_slide_collision>`.
 

+ 2 - 2
classes/class_kinematicbody2d.rst

@@ -149,13 +149,13 @@ Moves the body along a vector. If the body collides with another, it will slide
 
 ``floor_normal`` is the up direction, used to determine what is a wall and what is a floor or a ceiling. If set to the default value of ``Vector2(0, 0)``, everything is considered a wall. This is useful for topdown games.
 
-If ``stop_on_slope`` is true, body will not slide on slopes when you include gravity in ``linear_velocity`` and the body is standing still.
+If ``stop_on_slope`` is ``true``, body will not slide on slopes when you include gravity in ``linear_velocity`` and the body is standing still.
 
 If the body collides, it will change direction a maximum of ``max_slides`` times before it stops.
 
 ``floor_max_angle`` is the maximum angle (in radians) where a slope is still considered a floor (or a ceiling), rather than a wall. The default value equals 45 degrees.
 
-If ``infinite_inertia`` is true, body will be able to push :ref:`RigidBody2D<class_RigidBody2D>` nodes, but it won't also detect any collisions with them. When false, it will interact with :ref:`RigidBody2D<class_RigidBody2D>` nodes like with :ref:`StaticBody2D<class_StaticBody2D>`.
+If ``infinite_inertia`` is ``true``, body will be able to push :ref:`RigidBody2D<class_RigidBody2D>` nodes, but it won't also detect any collisions with them. If ``false`` it will interact with :ref:`RigidBody2D<class_RigidBody2D>` nodes like with :ref:`StaticBody2D<class_StaticBody2D>`.
 
 Returns the ``linear_velocity`` vector, rotated and/or scaled if a slide collision occurred. To get detailed information about collisions that occurred, use :ref:`get_slide_collision<class_KinematicBody2D_method_get_slide_collision>`.
 

+ 1 - 1
classes/class_label.rst

@@ -152,7 +152,7 @@ Controls the text's horizontal align. Supports left, center, right, and fill, or
 | *Getter* | has_autowrap()      |
 +----------+---------------------+
 
-If ``true``, wraps the text inside the node's bounding rectangle. If you resize the node, it will change its height automatically to show all the text. Default: false.
+If ``true``, wraps the text inside the node's bounding rectangle. If you resize the node, it will change its height automatically to show all the text. Default: ``false``.
 
 .. _class_Label_property_clip_text:
 

+ 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

+ 2 - 2
classes/class_lineedit.rst

@@ -112,7 +112,7 @@ Emitted when the text changes.
 
 - **text_entered** **(** :ref:`String<class_String>` new_text **)**
 
-Emitted when the user presses ``KEY_ENTER`` on the ``LineEdit``.
+Emitted when the user presses :ref:`@GlobalScope.KEY_ENTER<class_@GlobalScope_constant_KEY_ENTER>` on the ``LineEdit``.
 
 Enumerations
 ------------
@@ -287,7 +287,7 @@ If ``true``, the ``LineEdit`` width will increase to stay longer than the :ref:`
 | *Getter* | get_focus_mode()      |
 +----------+-----------------------+
 
-Defines how the ``LineEdit`` can grab focus (Keyboard and mouse, only keyboard, or none). See ``enum FocusMode`` in :ref:`Control<class_Control>` for details.
+Defines how the ``LineEdit`` can grab focus (Keyboard and mouse, only keyboard, or none). See :ref:`FocusMode<enum_Control_FocusMode>` in :ref:`Control<class_Control>` for details.
 
 .. _class_LineEdit_property_max_length:
 

+ 12 - 12
classes/class_mainloop.rst

@@ -76,29 +76,29 @@ Constants
 
 .. _class_MainLoop_constant_NOTIFICATION_OS_IME_UPDATE:
 
-- **NOTIFICATION_WM_MOUSE_ENTER** = **2**
+- **NOTIFICATION_WM_MOUSE_ENTER** = **1002**
 
-- **NOTIFICATION_WM_MOUSE_EXIT** = **3**
+- **NOTIFICATION_WM_MOUSE_EXIT** = **1003**
 
-- **NOTIFICATION_WM_FOCUS_IN** = **4**
+- **NOTIFICATION_WM_FOCUS_IN** = **1004**
 
-- **NOTIFICATION_WM_FOCUS_OUT** = **5**
+- **NOTIFICATION_WM_FOCUS_OUT** = **1005**
 
-- **NOTIFICATION_WM_QUIT_REQUEST** = **6**
+- **NOTIFICATION_WM_QUIT_REQUEST** = **1006**
 
-- **NOTIFICATION_WM_GO_BACK_REQUEST** = **7**
+- **NOTIFICATION_WM_GO_BACK_REQUEST** = **1007**
 
-- **NOTIFICATION_WM_UNFOCUS_REQUEST** = **8**
+- **NOTIFICATION_WM_UNFOCUS_REQUEST** = **1008**
 
-- **NOTIFICATION_OS_MEMORY_WARNING** = **9**
+- **NOTIFICATION_OS_MEMORY_WARNING** = **1009**
 
-- **NOTIFICATION_TRANSLATION_CHANGED** = **90**
+- **NOTIFICATION_TRANSLATION_CHANGED** = **1010**
 
-- **NOTIFICATION_WM_ABOUT** = **91**
+- **NOTIFICATION_WM_ABOUT** = **1011**
 
-- **NOTIFICATION_CRASH** = **92**
+- **NOTIFICATION_CRASH** = **1012**
 
-- **NOTIFICATION_OS_IME_UPDATE** = **93**
+- **NOTIFICATION_OS_IME_UPDATE** = **1013**
 
 Description
 -----------

+ 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).
 

+ 1 - 1
classes/class_meshinstance.rst

@@ -89,7 +89,7 @@ This helper creates a :ref:`StaticBody<class_StaticBody>` child node with a :ref
 
 - void **create_debug_tangents** **(** **)**
 
-This helper creates a :ref:`MeshInstance<class_MeshInstance>` child node with gizmos at every vertex calculated from the mesh geometry. It's mainly used for testing.
+This helper creates a ``MeshInstance`` child node with gizmos at every vertex calculated from the mesh geometry. It's mainly used for testing.
 
 .. _class_MeshInstance_method_create_trimesh_collision:
 

+ 45 - 33
classes/class_meshlibrary.rst

@@ -19,39 +19,43 @@ Library of meshes.
 Methods
 -------
 
-+---------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                        | :ref:`clear<class_MeshLibrary_method_clear>` **(** **)**                                                                                                     |
-+---------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                        | :ref:`create_item<class_MeshLibrary_method_create_item>` **(** :ref:`int<class_int>` id **)**                                                                |
-+---------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                       | :ref:`find_item_by_name<class_MeshLibrary_method_find_item_by_name>` **(** :ref:`String<class_String>` name **)** const                                      |
-+---------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`PoolIntArray<class_PoolIntArray>`     | :ref:`get_item_list<class_MeshLibrary_method_get_item_list>` **(** **)** const                                                                               |
-+---------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Mesh<class_Mesh>`                     | :ref:`get_item_mesh<class_MeshLibrary_method_get_item_mesh>` **(** :ref:`int<class_int>` id **)** const                                                      |
-+---------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_String>`                 | :ref:`get_item_name<class_MeshLibrary_method_get_item_name>` **(** :ref:`int<class_int>` id **)** const                                                      |
-+---------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`NavigationMesh<class_NavigationMesh>` | :ref:`get_item_navmesh<class_MeshLibrary_method_get_item_navmesh>` **(** :ref:`int<class_int>` id **)** const                                                |
-+---------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Texture<class_Texture>`               | :ref:`get_item_preview<class_MeshLibrary_method_get_item_preview>` **(** :ref:`int<class_int>` id **)** const                                                |
-+---------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Array<class_Array>`                   | :ref:`get_item_shapes<class_MeshLibrary_method_get_item_shapes>` **(** :ref:`int<class_int>` id **)** const                                                  |
-+---------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                       | :ref:`get_last_unused_item_id<class_MeshLibrary_method_get_last_unused_item_id>` **(** **)** const                                                           |
-+---------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                        | :ref:`remove_item<class_MeshLibrary_method_remove_item>` **(** :ref:`int<class_int>` id **)**                                                                |
-+---------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                        | :ref:`set_item_mesh<class_MeshLibrary_method_set_item_mesh>` **(** :ref:`int<class_int>` id, :ref:`Mesh<class_Mesh>` mesh **)**                              |
-+---------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                        | :ref:`set_item_name<class_MeshLibrary_method_set_item_name>` **(** :ref:`int<class_int>` id, :ref:`String<class_String>` name **)**                          |
-+---------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                        | :ref:`set_item_navmesh<class_MeshLibrary_method_set_item_navmesh>` **(** :ref:`int<class_int>` id, :ref:`NavigationMesh<class_NavigationMesh>` navmesh **)** |
-+---------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                        | :ref:`set_item_preview<class_MeshLibrary_method_set_item_preview>` **(** :ref:`int<class_int>` id, :ref:`Texture<class_Texture>` texture **)**               |
-+---------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                        | :ref:`set_item_shapes<class_MeshLibrary_method_set_item_shapes>` **(** :ref:`int<class_int>` id, :ref:`Array<class_Array>` shapes **)**                      |
-+---------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
++---------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                        | :ref:`clear<class_MeshLibrary_method_clear>` **(** **)**                                                                                                               |
++---------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                        | :ref:`create_item<class_MeshLibrary_method_create_item>` **(** :ref:`int<class_int>` id **)**                                                                          |
++---------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                       | :ref:`find_item_by_name<class_MeshLibrary_method_find_item_by_name>` **(** :ref:`String<class_String>` name **)** const                                                |
++---------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`PoolIntArray<class_PoolIntArray>`     | :ref:`get_item_list<class_MeshLibrary_method_get_item_list>` **(** **)** const                                                                                         |
++---------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Mesh<class_Mesh>`                     | :ref:`get_item_mesh<class_MeshLibrary_method_get_item_mesh>` **(** :ref:`int<class_int>` id **)** const                                                                |
++---------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_String>`                 | :ref:`get_item_name<class_MeshLibrary_method_get_item_name>` **(** :ref:`int<class_int>` id **)** const                                                                |
++---------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`NavigationMesh<class_NavigationMesh>` | :ref:`get_item_navmesh<class_MeshLibrary_method_get_item_navmesh>` **(** :ref:`int<class_int>` id **)** const                                                          |
++---------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Transform<class_Transform>`           | :ref:`get_item_navmesh_transform<class_MeshLibrary_method_get_item_navmesh_transform>` **(** :ref:`int<class_int>` id **)** const                                      |
++---------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Texture<class_Texture>`               | :ref:`get_item_preview<class_MeshLibrary_method_get_item_preview>` **(** :ref:`int<class_int>` id **)** const                                                          |
++---------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Array<class_Array>`                   | :ref:`get_item_shapes<class_MeshLibrary_method_get_item_shapes>` **(** :ref:`int<class_int>` id **)** const                                                            |
++---------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                       | :ref:`get_last_unused_item_id<class_MeshLibrary_method_get_last_unused_item_id>` **(** **)** const                                                                     |
++---------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                        | :ref:`remove_item<class_MeshLibrary_method_remove_item>` **(** :ref:`int<class_int>` id **)**                                                                          |
++---------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                        | :ref:`set_item_mesh<class_MeshLibrary_method_set_item_mesh>` **(** :ref:`int<class_int>` id, :ref:`Mesh<class_Mesh>` mesh **)**                                        |
++---------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                        | :ref:`set_item_name<class_MeshLibrary_method_set_item_name>` **(** :ref:`int<class_int>` id, :ref:`String<class_String>` name **)**                                    |
++---------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                        | :ref:`set_item_navmesh<class_MeshLibrary_method_set_item_navmesh>` **(** :ref:`int<class_int>` id, :ref:`NavigationMesh<class_NavigationMesh>` navmesh **)**           |
++---------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                        | :ref:`set_item_navmesh_transform<class_MeshLibrary_method_set_item_navmesh_transform>` **(** :ref:`int<class_int>` id, :ref:`Transform<class_Transform>` navmesh **)** |
++---------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                        | :ref:`set_item_preview<class_MeshLibrary_method_set_item_preview>` **(** :ref:`int<class_int>` id, :ref:`Texture<class_Texture>` texture **)**                         |
++---------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                        | :ref:`set_item_shapes<class_MeshLibrary_method_set_item_shapes>` **(** :ref:`int<class_int>` id, :ref:`Array<class_Array>` shapes **)**                                |
++---------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 
 Description
 -----------
@@ -99,6 +103,10 @@ Return the name of the item.
 
 - :ref:`NavigationMesh<class_NavigationMesh>` **get_item_navmesh** **(** :ref:`int<class_int>` id **)** const
 
+.. _class_MeshLibrary_method_get_item_navmesh_transform:
+
+- :ref:`Transform<class_Transform>` **get_item_navmesh_transform** **(** :ref:`int<class_int>` id **)** const
+
 .. _class_MeshLibrary_method_get_item_preview:
 
 - :ref:`Texture<class_Texture>` **get_item_preview** **(** :ref:`int<class_int>` id **)** const
@@ -135,6 +143,10 @@ Set the name of the item.
 
 - void **set_item_navmesh** **(** :ref:`int<class_int>` id, :ref:`NavigationMesh<class_NavigationMesh>` navmesh **)**
 
+.. _class_MeshLibrary_method_set_item_navmesh_transform:
+
+- void **set_item_navmesh_transform** **(** :ref:`int<class_int>` id, :ref:`Transform<class_Transform>` navmesh **)**
+
 .. _class_MeshLibrary_method_set_item_preview:
 
 - void **set_item_preview** **(** :ref:`int<class_int>` id, :ref:`Texture<class_Texture>` texture **)**

+ 73 - 0
classes/class_meshtexture.rst

@@ -0,0 +1,73 @@
+.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. DO NOT EDIT THIS FILE, but the MeshTexture.xml source instead.
+.. The source is found in doc/classes or modules/<name>/doc_classes.
+
+.. _class_MeshTexture:
+
+MeshTexture
+===========
+
+**Inherits:** :ref:`Texture<class_Texture>` **<** :ref:`Resource<class_Resource>` **<** :ref:`Reference<class_Reference>` **<** :ref:`Object<class_Object>`
+
+**Category:** Core
+
+Brief Description
+-----------------
+
+Simple texture that uses a mesh to draw itself.
+
+Properties
+----------
+
++-------------------------------+--------------------------------------------------------------+
+| :ref:`Texture<class_Texture>` | :ref:`base_texture<class_MeshTexture_property_base_texture>` |
++-------------------------------+--------------------------------------------------------------+
+| :ref:`Vector2<class_Vector2>` | :ref:`image_size<class_MeshTexture_property_image_size>`     |
++-------------------------------+--------------------------------------------------------------+
+| :ref:`Mesh<class_Mesh>`       | :ref:`mesh<class_MeshTexture_property_mesh>`                 |
++-------------------------------+--------------------------------------------------------------+
+
+Description
+-----------
+
+Simple texture that uses a mesh to draw itself. It's limited because flags can't be changed and region drawing is not supported.
+
+Property Descriptions
+---------------------
+
+.. _class_MeshTexture_property_base_texture:
+
+- :ref:`Texture<class_Texture>` **base_texture**
+
++----------+-------------------------+
+| *Setter* | set_base_texture(value) |
++----------+-------------------------+
+| *Getter* | get_base_texture()      |
++----------+-------------------------+
+
+Set the base texture that the Mesh will use to draw.
+
+.. _class_MeshTexture_property_image_size:
+
+- :ref:`Vector2<class_Vector2>` **image_size**
+
++----------+-----------------------+
+| *Setter* | set_image_size(value) |
++----------+-----------------------+
+| *Getter* | get_image_size()      |
++----------+-----------------------+
+
+Set the size of the image, needed for reference.
+
+.. _class_MeshTexture_property_mesh:
+
+- :ref:`Mesh<class_Mesh>` **mesh**
+
++----------+-----------------+
+| *Setter* | set_mesh(value) |
++----------+-----------------+
+| *Getter* | get_mesh()      |
++----------+-----------------+
+
+Set the mesh used to draw. It must be a mesh using 2D vertices.
+

+ 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**

+ 1 - 1
classes/class_networkedmultiplayerenet.rst

@@ -167,7 +167,7 @@ Create server that listens to connections via ``port``. The port needs to be an
 
 - void **disconnect_peer** **(** :ref:`int<class_int>` id, :ref:`bool<class_bool>` now=false **)**
 
-Disconnect the given peer. If "now" is set to true, the connection will be closed immediately without flushing queued messages.
+Disconnect the given peer. If "now" is set to ``true``, the connection will be closed immediately without flushing queued messages.
 
 .. _class_NetworkedMultiplayerENet_method_get_last_packet_channel:
 

+ 54 - 4
classes/class_node.rst

@@ -309,12 +309,34 @@ Constants
 
 .. _class_Node_constant_NOTIFICATION_PATH_CHANGED:
 
-.. _class_Node_constant_NOTIFICATION_TRANSLATION_CHANGED:
-
 .. _class_Node_constant_NOTIFICATION_INTERNAL_PROCESS:
 
 .. _class_Node_constant_NOTIFICATION_INTERNAL_PHYSICS_PROCESS:
 
+.. _class_Node_constant_NOTIFICATION_WM_MOUSE_ENTER:
+
+.. _class_Node_constant_NOTIFICATION_WM_MOUSE_EXIT:
+
+.. _class_Node_constant_NOTIFICATION_WM_FOCUS_IN:
+
+.. _class_Node_constant_NOTIFICATION_WM_FOCUS_OUT:
+
+.. _class_Node_constant_NOTIFICATION_WM_QUIT_REQUEST:
+
+.. _class_Node_constant_NOTIFICATION_WM_GO_BACK_REQUEST:
+
+.. _class_Node_constant_NOTIFICATION_WM_UNFOCUS_REQUEST:
+
+.. _class_Node_constant_NOTIFICATION_OS_MEMORY_WARNING:
+
+.. _class_Node_constant_NOTIFICATION_TRANSLATION_CHANGED:
+
+.. _class_Node_constant_NOTIFICATION_WM_ABOUT:
+
+.. _class_Node_constant_NOTIFICATION_CRASH:
+
+.. _class_Node_constant_NOTIFICATION_OS_IME_UPDATE:
+
 - **NOTIFICATION_ENTER_TREE** = **10** --- Notification received when the node enters a :ref:`SceneTree<class_SceneTree>`.
 
 - **NOTIFICATION_EXIT_TREE** = **11** --- Notification received when the node is about to exit a :ref:`SceneTree<class_SceneTree>`.
@@ -343,12 +365,34 @@ Constants
 
 - **NOTIFICATION_PATH_CHANGED** = **23** --- Notification received when the node's :ref:`NodePath<class_NodePath>` changed.
 
-- **NOTIFICATION_TRANSLATION_CHANGED** = **24** --- Notification received when translations may have changed. Can be triggered by the user changing the locale. Can be used to respond to language changes, for example to change the UI strings on the fly. Useful when working with the built-in translation support, like :ref:`Object.tr<class_Object_method_tr>`.
-
 - **NOTIFICATION_INTERNAL_PROCESS** = **25** --- Notification received every frame when the internal process flag is set (see :ref:`set_process_internal<class_Node_method_set_process_internal>`).
 
 - **NOTIFICATION_INTERNAL_PHYSICS_PROCESS** = **26** --- Notification received every frame when the internal physics process flag is set (see :ref:`set_physics_process_internal<class_Node_method_set_physics_process_internal>`).
 
+- **NOTIFICATION_WM_MOUSE_ENTER** = **1002**
+
+- **NOTIFICATION_WM_MOUSE_EXIT** = **1003**
+
+- **NOTIFICATION_WM_FOCUS_IN** = **1004**
+
+- **NOTIFICATION_WM_FOCUS_OUT** = **1005**
+
+- **NOTIFICATION_WM_QUIT_REQUEST** = **1006**
+
+- **NOTIFICATION_WM_GO_BACK_REQUEST** = **1007**
+
+- **NOTIFICATION_WM_UNFOCUS_REQUEST** = **1008**
+
+- **NOTIFICATION_OS_MEMORY_WARNING** = **1009**
+
+- **NOTIFICATION_TRANSLATION_CHANGED** = **1010** --- Notification received when translations may have changed. Can be triggered by the user changing the locale. Can be used to respond to language changes, for example to change the UI strings on the fly. Useful when working with the built-in translation support, like :ref:`Object.tr<class_Object_method_tr>`.
+
+- **NOTIFICATION_WM_ABOUT** = **1011**
+
+- **NOTIFICATION_CRASH** = **1012**
+
+- **NOTIFICATION_OS_IME_UPDATE** = **1013**
+
 Description
 -----------
 
@@ -475,6 +519,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 +611,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

+ 2 - 2
classes/class_node2d.rst

@@ -268,13 +268,13 @@ Rotates the node so it points towards the 'point'.
 
 - void **move_local_x** **(** :ref:`float<class_float>` delta, :ref:`bool<class_bool>` scaled=false **)**
 
-Applies a local translation on the node's X axis based on the :ref:`Node._process<class_Node_method__process>`'s ``delta``. If ``scaled`` is false, normalizes the movement.
+Applies a local translation on the node's X axis based on the :ref:`Node._process<class_Node_method__process>`'s ``delta``. If ``scaled`` is ``false``, normalizes the movement.
 
 .. _class_Node2D_method_move_local_y:
 
 - void **move_local_y** **(** :ref:`float<class_float>` delta, :ref:`bool<class_bool>` scaled=false **)**
 
-Applies a local translation on the node's Y axis based on the :ref:`Node._process<class_Node_method__process>`'s ``delta``. If ``scaled`` is false, normalizes the movement.
+Applies a local translation on the node's Y axis based on the :ref:`Node._process<class_Node_method__process>`'s ``delta``. If ``scaled`` is ``false``, normalizes the movement.
 
 .. _class_Node2D_method_rotate:
 

+ 2 - 2
classes/class_nodepath.rst

@@ -91,11 +91,11 @@ Get the number of resource names in the path.
 
 - :ref:`bool<class_bool>` **is_absolute** **(** **)**
 
-Return true if the node path is absolute (not relative).
+Return ``true`` if the node path is absolute (not relative).
 
 .. _class_NodePath_method_is_empty:
 
 - :ref:`bool<class_bool>` **is_empty** **(** **)**
 
-Return true if the node path is empty.
+Return ``true`` if the node path is empty.
 

+ 1 - 1
classes/class_noisetexture.rst

@@ -53,7 +53,7 @@ Property Descriptions
 | *Getter* | is_normalmap()          |
 +----------+-------------------------+
 
-If true, the resulting texture contains a normal map created from the original noise interpreted as a bump map.
+If ``true``, the resulting texture contains a normal map created from the original noise interpreted as a bump map.
 
 .. _class_NoiseTexture_property_bump_strength:
 

+ 2 - 2
classes/class_object.rst

@@ -396,7 +396,7 @@ Set property into the object.
 
 - void **set_block_signals** **(** :ref:`bool<class_bool>` enable **)**
 
-If set to true, signal emission is blocked.
+If set to ``true``, signal emission is blocked.
 
 .. _class_Object_method_set_deferred:
 
@@ -410,7 +410,7 @@ If set to true, signal emission is blocked.
 
 - void **set_message_translation** **(** :ref:`bool<class_bool>` enable **)**
 
-Define whether the object can translate strings (with calls to :ref:`tr<class_Object_method_tr>`). Default is true.
+Define whether the object can translate strings (with calls to :ref:`tr<class_Object_method_tr>`). Default is ``true``.
 
 .. _class_Object_method_set_meta:
 

+ 6 - 0
classes/class_opensimplexnoise.rst

@@ -37,6 +37,8 @@ Methods
 +---------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`Image<class_Image>` | :ref:`get_image<class_OpenSimplexNoise_method_get_image>` **(** :ref:`int<class_int>` width, :ref:`int<class_int>` height **)**                                                                |
 +---------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>` | :ref:`get_noise_1d<class_OpenSimplexNoise_method_get_noise_1d>` **(** :ref:`float<class_float>` x **)**                                                                                        |
++---------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`float<class_float>` | :ref:`get_noise_2d<class_OpenSimplexNoise_method_get_noise_2d>` **(** :ref:`float<class_float>` x, :ref:`float<class_float>` y **)**                                                           |
 +---------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`float<class_float>` | :ref:`get_noise_2dv<class_OpenSimplexNoise_method_get_noise_2dv>` **(** :ref:`Vector2<class_Vector2>` pos **)**                                                                                |
@@ -143,6 +145,10 @@ Method Descriptions
 
 Generate a noise image with the requested ``width`` and ``height``, based on the current noise parameters.
 
+.. _class_OpenSimplexNoise_method_get_noise_1d:
+
+- :ref:`float<class_float>` **get_noise_1d** **(** :ref:`float<class_float>` x **)**
+
 .. _class_OpenSimplexNoise_method_get_noise_2d:
 
 - :ref:`float<class_float>` **get_noise_2d** **(** :ref:`float<class_float>` x, :ref:`float<class_float>` y **)**

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