Преглед изворни кода

Sync classref with current source

Rémi Verschelde пре 6 година
родитељ
комит
4fde11be6b
100 измењених фајлова са 784 додато и 490 уклоњено
  1. 21 9
      classes/[email protected]
  2. 1 1
      classes/class_acceptdialog.rst
  3. 4 4
      classes/class_animatedsprite.rst
  4. 1 1
      classes/class_animatedsprite3d.rst
  5. 1 1
      classes/class_animation.rst
  6. 1 1
      classes/class_animationtreeplayer.rst
  7. 7 7
      classes/class_area.rst
  8. 6 6
      classes/class_area2d.rst
  9. 4 4
      classes/class_array.rst
  10. 3 3
      classes/class_arraymesh.rst
  11. 17 26
      classes/class_astar.rst
  12. 1 1
      classes/class_atlastexture.rst
  13. 1 1
      classes/class_audioeffect.rst
  14. 1 1
      classes/class_audioeffectdelay.rst
  15. 16 8
      classes/class_audioserver.rst
  16. 2 2
      classes/class_audiostreamplayer.rst
  17. 2 2
      classes/class_audiostreamplayer2d.rst
  18. 2 2
      classes/class_audiostreamplayer3d.rst
  19. 2 0
      classes/class_audiostreamsample.rst
  20. 1 1
      classes/class_bakedlightmap.rst
  21. 4 4
      classes/class_basebutton.rst
  22. 2 2
      classes/class_bitmap.rst
  23. 1 1
      classes/class_bitmapfont.rst
  24. 9 8
      classes/class_buttongroup.rst
  25. 1 1
      classes/class_camera.rst
  26. 9 9
      classes/class_camera2d.rst
  27. 7 7
      classes/class_canvasitem.rst
  28. 1 1
      classes/class_centercontainer.rst
  29. 4 4
      classes/class_collisionobject.rst
  30. 4 4
      classes/class_collisionobject2d.rst
  31. 2 2
      classes/class_collisionpolygon2d.rst
  32. 19 29
      classes/class_color.rst
  33. 34 6
      classes/class_colorpicker.rst
  34. 1 1
      classes/class_colorpickerbutton.rst
  35. 1 1
      classes/class_container.rst
  36. 1 1
      classes/class_convexpolygonshape2d.rst
  37. 1 1
      classes/class_csgcombiner.rst
  38. 1 1
      classes/class_csgmesh.rst
  39. 67 3
      classes/class_csgshape.rst
  40. 1 1
      classes/class_directionallight.rst
  41. 2 2
      classes/class_dynamicfont.rst
  42. 2 2
      classes/class_editorfiledialog.rst
  43. 27 27
      classes/class_editorimportplugin.rst
  44. 2 2
      classes/class_editorinterface.rst
  45. 12 0
      classes/class_editorplugin.rst
  46. 1 1
      classes/class_editorscenepostimport.rst
  47. 1 1
      classes/class_editorsettings.rst
  48. 203 161
      classes/class_environment.rst
  49. 1 1
      classes/class_file.rst
  50. 18 0
      classes/class_gdnativelibraryresourceloader.rst
  51. 18 0
      classes/class_gdnativelibraryresourcesaver.rst
  52. 12 12
      classes/class_generic6dofjoint.rst
  53. 1 1
      classes/class_geometryinstance.rst
  54. 2 2
      classes/class_graphedit.rst
  55. 2 0
      classes/class_graphnode.rst
  56. 3 3
      classes/class_gridmap.rst
  57. 2 2
      classes/class_hingejoint.rst
  58. 9 9
      classes/class_httpclient.rst
  59. 1 1
      classes/class_httprequest.rst
  60. 1 1
      classes/class_inputeventaction.rst
  61. 1 1
      classes/class_inputeventjoypadbutton.rst
  62. 2 2
      classes/class_inputeventkey.rst
  63. 2 2
      classes/class_inputeventmousebutton.rst
  64. 1 1
      classes/class_inputeventscreentouch.rst
  65. 1 1
      classes/class_interpolatedcamera.rst
  66. 2 2
      classes/class_itemlist.rst
  67. 1 1
      classes/class_joint.rst
  68. 1 1
      classes/class_joint2d.rst
  69. 7 1
      classes/class_kinematicbody.rst
  70. 2 2
      classes/class_kinematicbody2d.rst
  71. 3 3
      classes/class_light.rst
  72. 3 3
      classes/class_light2d.rst
  73. 5 5
      classes/class_lineedit.rst
  74. 2 0
      classes/class_mainloop.rst
  75. 22 0
      classes/class_menubutton.rst
  76. 3 3
      classes/class_meshdatatool.rst
  77. 1 1
      classes/class_multiplayerapi.rst
  78. 1 1
      classes/class_networkedmultiplayerpeer.rst
  79. 1 1
      classes/class_node2d.rst
  80. 3 1
      classes/class_object.rst
  81. 1 1
      classes/class_occluderpolygon2d.rst
  82. 1 1
      classes/class_orientedpathfollow.rst
  83. 41 7
      classes/class_os.rst
  84. 1 1
      classes/class_parallaxbackground.rst
  85. 3 3
      classes/class_particles.rst
  86. 3 3
      classes/class_particles2d.rst
  87. 1 1
      classes/class_particlesmaterial.rst
  88. 1 1
      classes/class_pathfollow.rst
  89. 1 1
      classes/class_pathfollow2d.rst
  90. 1 1
      classes/class_physicsdirectbodystate.rst
  91. 6 6
      classes/class_physicsserver.rst
  92. 16 0
      classes/class_pluginscript.rst
  93. 2 2
      classes/class_polygon2d.rst
  94. 4 4
      classes/class_popup.rst
  95. 1 1
      classes/class_progressbar.rst
  96. 22 6
      classes/class_projectsettings.rst
  97. 24 16
      classes/class_randomnumbergenerator.rst
  98. 4 4
      classes/class_range.rst
  99. 2 2
      classes/class_raycast.rst
  100. 1 1
      classes/class_rayshape.rst

+ 21 - 9
classes/[email protected]

@@ -309,7 +309,7 @@ Returns the arc tangent of ``y/x`` in radians. Use to get the angle of tangent `
 
 ::
 
-    a = atan(0,-1) # a is 3.141593
+    a = atan(0, -1) # a is 3.141593
 
 .. _class_@GDScript_bytes2var:
 
@@ -345,7 +345,7 @@ Returns a character as a String of the given ASCII code.
     # a is 'A'
     a = char(65)
     # a is 'a'
-    a = char(65+32)
+    a = char(65 + 32)
 
 .. _class_@GDScript_clamp:
 
@@ -388,7 +388,7 @@ Returns the cosine of angle ``s`` in radians.
 ::
 
     # prints 1 and -1
-    print(cos(PI*2))
+    print(cos(PI * 2))
     print(cos(PI))
 
 .. _class_@GDScript_cosh:
@@ -668,7 +668,7 @@ Returns the maximum of two values.
 
 ::
 
-    max(1,2) # returns 2
+    max(1, 2) # returns 2
     max(-3.99, -4) # returns -3.99
 
 .. _class_@GDScript_min:
@@ -679,7 +679,7 @@ Returns the minimum of two values.
 
 ::
 
-    min(1,2) # returns 1
+    min(1, 2) # returns 1
     min(-3.99, -4) # returns -4
 
 .. _class_@GDScript_nearest_po2:
@@ -726,7 +726,7 @@ Returns the result of ``x`` raised to the power of ``y``.
 
 ::
 
-    pow(2,5) # returns 32
+    pow(2, 5) # returns 32
 
 .. _class_@GDScript_preload:
 
@@ -749,8 +749,8 @@ Converts one or more arguments to strings in the best way possible and prints th
 
 ::
 
-    a = [1,2,3]
-    print("a","b",a) # prints ab[1, 2, 3]
+    a = [1, 2, 3]
+    print("a", "b", a) # prints ab[1, 2, 3]
 
 .. _class_@GDScript_print_debug:
 
@@ -814,10 +814,22 @@ Prints one or more arguments to the console with a tab between each argument.
 
 - void **push_error** **(** :ref:`String<class_String>` message **)**
 
+Pushes an error message to Godot's built-in debugger and to the OS terminal.
+
+::
+
+    push_error("test error") # prints "test error" to debugger and terminal as error call
+
 .. _class_@GDScript_push_warning:
 
 - void **push_warning** **(** :ref:`String<class_String>` message **)**
 
+Pushes a warning message to Godot's built-in debugger and to the OS terminal.
+
+::
+
+    push_warning("test warning") # prints "test warning" to debugger and terminal as warning call
+
 .. _class_@GDScript_rad2deg:
 
 - :ref:`float<class_float>` **rad2deg** **(** :ref:`float<class_float>` rad **)**
@@ -1022,7 +1034,7 @@ Returns the tangent of angle ``s`` in radians.
 
 ::
 
-    tan( deg2rad(45) ) # returns 1
+    tan(deg2rad(45)) # returns 1
 
 .. _class_@GDScript_tanh:
 

+ 1 - 1
classes/class_acceptdialog.rst

@@ -75,7 +75,7 @@ Property Descriptions
 | *Getter* | get_hide_on_ok()      |
 +----------+-----------------------+
 
-If ``true`` the dialog is hidden when the OK button is pressed. You can set it to ``false`` if you want to do e.g. input validation when receiving the :ref:`confirmed<class_AcceptDialog_confirmed>` signal, and handle hiding the dialog in your own logic. Default value: ``true``.
+If ``true``, the dialog is hidden when the OK button is pressed. You can set it to ``false`` if you want to do e.g. input validation when receiving the :ref:`confirmed<class_AcceptDialog_confirmed>` signal, and handle hiding the dialog in your own logic. Default value: ``true``.
 
 Note: Some nodes derived from this class can have a different default value, and potentially their own built-in logic overriding this setting. For example :ref:`FileDialog<class_FileDialog>` defaults to ``false``, and has its own input validation code that is called when you press OK, which eventually hides the dialog if the input is valid. As such this property can't be used in :ref:`FileDialog<class_FileDialog>` to disable hiding the dialog when pressing OK.
 

+ 4 - 4
classes/class_animatedsprite.rst

@@ -95,7 +95,7 @@ The current animation from the ``frames`` resource. If this value changes, the `
 | *Getter* | is_centered()       |
 +----------+---------------------+
 
-If ``true`` texture will be centered. Default value: ``true``.
+If ``true``, texture will be centered. Default value: ``true``.
 
 .. _class_AnimatedSprite_flip_h:
 
@@ -107,7 +107,7 @@ If ``true`` texture will be centered. Default value: ``true``.
 | *Getter* | is_flipped_h()    |
 +----------+-------------------+
 
-If ``true`` texture is flipped horizontally. Default value: ``false``.
+If ``true``, texture is flipped horizontally. Default value: ``false``.
 
 .. _class_AnimatedSprite_flip_v:
 
@@ -119,7 +119,7 @@ If ``true`` texture is flipped horizontally. Default value: ``false``.
 | *Getter* | is_flipped_v()    |
 +----------+-------------------+
 
-If ``true`` texture is flipped vertically. Default value: ``false``.
+If ``true``, texture is flipped vertically. Default value: ``false``.
 
 .. _class_AnimatedSprite_frame:
 
@@ -161,7 +161,7 @@ The texture's drawing offset.
 
 - :ref:`bool<class_bool>` **playing**
 
-If ``true`` the :ref:`animation<class_AnimatedSprite_animation>` is currently playing.
+If ``true``, the :ref:`animation<class_AnimatedSprite_animation>` is currently playing.
 
 .. _class_AnimatedSprite_speed_scale:
 

+ 1 - 1
classes/class_animatedsprite3d.rst

@@ -97,7 +97,7 @@ The :ref:`SpriteFrames<class_SpriteFrames>` resource containing the animation(s)
 
 - :ref:`bool<class_bool>` **playing**
 
-If ``true`` the :ref:`animation<class_AnimatedSprite3D_animation>` is currently playing.
+If ``true``, the :ref:`animation<class_AnimatedSprite3D_animation>` is currently playing.
 
 Method Descriptions
 -------------------

+ 1 - 1
classes/class_animation.rst

@@ -487,7 +487,7 @@ Set the given track as imported or not.
 
 - void **track_set_interpolation_loop_wrap** **(** :ref:`int<class_int>` idx, :ref:`bool<class_bool>` interpolation **)**
 
-If ``true`` the track at ``idx`` wraps the interpolation loop.
+If ``true``, the track at ``idx`` wraps the interpolation loop.
 
 .. _class_Animation_track_set_interpolation_type:
 

+ 1 - 1
classes/class_animationtreeplayer.rst

@@ -203,7 +203,7 @@ Property Descriptions
 | *Getter* | is_active()       |
 +----------+-------------------+
 
-If ``true`` the ``AnimationTreePlayer`` is able to play animations. Default value: ``false``.
+If ``true``, the ``AnimationTreePlayer`` is able to play animations. Default value: ``false``.
 
 .. _class_AnimationTreePlayer_base_path:
 

+ 7 - 7
classes/class_area.rst

@@ -188,7 +188,7 @@ The name of the area's audio bus.
 | *Getter* | is_overriding_audio_bus()     |
 +----------+-------------------------------+
 
-If ``true`` the area's audio bus overrides the default audio bus. Default value: ``false``.
+If ``true``, the area's audio bus overrides the default audio bus. Default value: ``false``.
 
 .. _class_Area_collision_layer:
 
@@ -248,7 +248,7 @@ The falloff factor for point gravity. The greater the value, the faster gravity
 | *Getter* | is_gravity_a_point()        |
 +----------+-----------------------------+
 
-If ``true`` gravity is calculated from a point (set via ``gravity_vec``). Also see ``space_override``. Default value: ``false``.
+If ``true``, gravity is calculated from a point (set via ``gravity_vec``). Also see ``space_override``. Default value: ``false``.
 
 .. _class_Area_gravity_vec:
 
@@ -284,7 +284,7 @@ The rate at which objects stop moving in this area. Represents the linear veloci
 | *Getter* | is_monitorable()       |
 +----------+------------------------+
 
-If ``true`` other monitoring areas can detect this area. Default value: ``true``.
+If ``true``, other monitoring areas can detect this area. Default value: ``true``.
 
 .. _class_Area_monitoring:
 
@@ -296,7 +296,7 @@ If ``true`` other monitoring areas can detect this area. Default value: ``true``
 | *Getter* | is_monitoring()       |
 +----------+-----------------------+
 
-If ``true`` the area detects bodies or areas entering and exiting it. Default value: ``true``.
+If ``true``, the area detects bodies or areas entering and exiting it. Default value: ``true``.
 
 .. _class_Area_priority:
 
@@ -332,7 +332,7 @@ The degree to which this area applies reverb to its associated audio. Ranges fro
 | *Getter* | is_using_reverb_bus()     |
 +----------+---------------------------+
 
-If ``true`` the area applies reverb to its associated audio.
+If ``true``, the area applies reverb to its associated audio.
 
 .. _class_Area_reverb_bus_name:
 
@@ -401,13 +401,13 @@ Returns a list of intersecting :ref:`PhysicsBody<class_PhysicsBody>`\ s. For per
 
 - :ref:`bool<class_bool>` **overlaps_area** **(** :ref:`Node<class_Node>` area **)** const
 
-If ``true`` the given area overlaps the Area. Note that the result of this test is not immediate after moving objects. For performance, list of overlaps is updated once per frame and before the physics step. Consider using signals instead.
+If ``true``, the given area overlaps the Area. Note that the result of this test is not immediate after moving objects. For performance, list of overlaps is updated once per frame and before the physics step. Consider using signals instead.
 
 .. _class_Area_overlaps_body:
 
 - :ref:`bool<class_bool>` **overlaps_body** **(** :ref:`Node<class_Node>` body **)** const
 
-If ``true`` the given body overlaps the Area. Note that the result of this test is not immediate after moving objects. For performance, list of overlaps is updated once per frame and before the physics step. Consider using signals instead.
+If ``true``, the given body overlaps the Area. Note that the result of this test is not immediate after moving objects. For performance, list of overlaps is updated once per frame and before the physics step. Consider using signals instead.
 
 .. _class_Area_set_collision_layer_bit:
 

+ 6 - 6
classes/class_area2d.rst

@@ -180,7 +180,7 @@ The name of the area's audio bus.
 | *Getter* | is_overriding_audio_bus()     |
 +----------+-------------------------------+
 
-If ``true`` the area's audio bus overrides the default audio bus. Default value: ``false``.
+If ``true``, the area's audio bus overrides the default audio bus. Default value: ``false``.
 
 .. _class_Area2D_collision_layer:
 
@@ -240,7 +240,7 @@ The falloff factor for point gravity. The greater the value, the faster gravity
 | *Getter* | is_gravity_a_point()        |
 +----------+-----------------------------+
 
-If ``true`` gravity is calculated from a point (set via ``gravity_vec``). Also see ``space_override``. Default value: ``false``.
+If ``true``, gravity is calculated from a point (set via ``gravity_vec``). Also see ``space_override``. Default value: ``false``.
 
 .. _class_Area2D_gravity_vec:
 
@@ -276,7 +276,7 @@ The rate at which objects stop moving in this area. Represents the linear veloci
 | *Getter* | is_monitorable()       |
 +----------+------------------------+
 
-If ``true`` other monitoring areas can detect this area. Default value: ``true``.
+If ``true``, other monitoring areas can detect this area. Default value: ``true``.
 
 .. _class_Area2D_monitoring:
 
@@ -288,7 +288,7 @@ If ``true`` other monitoring areas can detect this area. Default value: ``true``
 | *Getter* | is_monitoring()       |
 +----------+-----------------------+
 
-If ``true`` the area detects bodies or areas entering and exiting it. Default value: ``true``.
+If ``true``, the area detects bodies or areas entering and exiting it. Default value: ``true``.
 
 .. _class_Area2D_priority:
 
@@ -345,13 +345,13 @@ Returns a list of intersecting :ref:`PhysicsBody2D<class_PhysicsBody2D>`\ s. For
 
 - :ref:`bool<class_bool>` **overlaps_area** **(** :ref:`Node<class_Node>` area **)** const
 
-If ``true`` the given area overlaps the Area2D. Note that the result of this test is not immediate after moving objects. For performance, list of overlaps is updated once per frame and before the physics step. Consider using signals instead.
+If ``true``, the given area overlaps the Area2D. Note that the result of this test is not immediate after moving objects. For performance, list of overlaps is updated once per frame and before the physics step. Consider using signals instead.
 
 .. _class_Area2D_overlaps_body:
 
 - :ref:`bool<class_bool>` **overlaps_body** **(** :ref:`Node<class_Node>` body **)** const
 
-If ``true`` the given body overlaps the Area2D. Note that the result of this test is not immediate after moving objects. For performance, list of overlaps is updated once per frame and before the physics step. Consider using signals instead.
+If ``true``, the given body overlaps the Area2D. Note that the result of this test is not immediate after moving objects. For performance, list of overlaps is updated once per frame and before the physics step. Consider using signals instead.
 
 .. _class_Area2D_set_collision_layer_bit:
 

+ 4 - 4
classes/class_array.rst

@@ -234,10 +234,10 @@ Return true if the array contains given value.
 
 ::
 
-    [ "inside", 7 ].has("inside") == true
-    [ "inside", 7 ].has("outside") == false
-    [ "inside", 7 ].has(7) == true
-    [ "inside", 7 ].has("7") == false
+    ["inside", 7].has("inside") == true
+    ["inside", 7].has("outside") == false
+    ["inside", 7].has(7) == true
+    ["inside", 7].has("7") == false
 
 .. _class_Array_hash:
 

+ 3 - 3
classes/class_arraymesh.rst

@@ -132,9 +132,9 @@ The ``ArrayMesh`` is used to construct a :ref:`Mesh<class_Mesh>` by specifying t
 ::
 
     var vertices = PoolVector3Array()
-    vertices.push_back(Vector3(0,1,0))
-    vertices.push_back(Vector3(1,0,0))
-    vertices.push_back(Vector3(0,0,1))
+    vertices.push_back(Vector3(0, 1, 0))
+    vertices.push_back(Vector3(1, 0, 0))
+    vertices.push_back(Vector3(0, 0, 1))
     # Initialize the ArrayMesh.
     var arr_mesh = ArrayMesh.new()
     var arrays = []

+ 17 - 26
classes/class_astar.rst

@@ -92,8 +92,7 @@ Adds a new point at the given position with the given identifier. The algorithm
 ::
 
     var as = AStar.new()
-    
-    as.add_point(1, Vector3(1,0,0), 4) # Adds the point (1,0,0) with weight_scale=4 and id=1
+    as.add_point(1, Vector3(1, 0, 0), 4) # Adds the point (1, 0, 0) with weight_scale 4 and id 1
 
 If there already exists a point for the given id, its position and weight scale are updated to the given values.
 
@@ -113,17 +112,14 @@ Clears all the points and segments.
 
 - void **connect_points** **(** :ref:`int<class_int>` id, :ref:`int<class_int>` to_id, :ref:`bool<class_bool>` bidirectional=true **)**
 
-Creates a segment between the given points.
+Creates a segment between the given points. If ``bidirectional`` is ``false``, only movement from ``id`` to ``to_id`` is allowed, not the reverse direction.
 
 ::
 
     var as = AStar.new()
-    
-    as.add_point(1, Vector3(1,1,0))
-    as.add_point(2, Vector3(0,5,0))
-    
-    as.connect_points(1, 2, false) # If bidirectional=false it's only possible to go from point 1 to point 2
-                                   # and not from point 2 to point 1.
+    as.add_point(1, Vector3(1, 1, 0))
+    as.add_point(2, Vector3(0, 5, 0))
+    as.connect_points(1, 2, false)
 
 .. _class_AStar_disconnect_points:
 
@@ -152,15 +148,12 @@ Returns the closest position to ``to_position`` that resides inside a segment be
 ::
 
     var as = AStar.new()
-    
-    as.add_point(1, Vector3(0,0,0))
-    as.add_point(2, Vector3(0,5,0))
-    
+    as.add_point(1, Vector3(0, 0, 0))
+    as.add_point(2, Vector3(0, 5, 0))
     as.connect_points(1, 2)
-    
-    var res = as.get_closest_position_in_segment(Vector3(3,3,0)) # returns (0, 3, 0)
+    var res = as.get_closest_position_in_segment(Vector3(3, 3, 0)) # returns (0, 3, 0)
 
-The result is in the segment that goes from ``y=0`` to ``y=5``. It's the closest position in the segment to the given point.
+The result is in the segment that goes from ``y = 0`` to ``y = 5``. It's the closest position in the segment to the given point.
 
 .. _class_AStar_get_id_path:
 
@@ -171,11 +164,10 @@ Returns an array with the ids of the points that form the path found by AStar be
 ::
 
     var as = AStar.new()
-    
-    as.add_point(1, Vector3(0,0,0))
-    as.add_point(2, Vector3(0,1,0), 1) # default weight is 1
-    as.add_point(3, Vector3(1,1,0))
-    as.add_point(4, Vector3(2,0,0))
+    as.add_point(1, Vector3(0, 0, 0))
+    as.add_point(2, Vector3(0, 1, 0), 1) # default weight is 1
+    as.add_point(3, Vector3(1, 1, 0))
+    as.add_point(4, Vector3(2, 0, 0))
     
     as.connect_points(1, 2, false)
     as.connect_points(2, 3, false)
@@ -196,11 +188,10 @@ Returns an array with the ids of the points that form the connect with the given
 ::
 
     var as = AStar.new()
-    
-    as.add_point(1, Vector3(0,0,0))
-    as.add_point(2, Vector3(0,1,0))
-    as.add_point(3, Vector3(1,1,0))
-    as.add_point(4, Vector3(2,0,0))
+    as.add_point(1, Vector3(0, 0, 0))
+    as.add_point(2, Vector3(0, 1, 0))
+    as.add_point(3, Vector3(1, 1, 0))
+    as.add_point(4, Vector3(2, 0, 0))
     
     as.connect_points(1, 2, true)
     as.connect_points(1, 3, true)

+ 1 - 1
classes/class_atlastexture.rst

@@ -61,7 +61,7 @@ The texture that contains the atlas. Can be any :ref:`Texture<class_Texture>` su
 | *Getter* | has_filter_clip()      |
 +----------+------------------------+
 
-If ``true`` clips the area outside of the region to avoid bleeding of the surrounding texture pixels.
+If ``true``, clips the area outside of the region to avoid bleeding of the surrounding texture pixels.
 
 .. _class_AtlasTexture_margin:
 

+ 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:`AudioEffectCompressor<class_AudioEffectCompressor>`, :ref:`AudioEffectLimiter<class_AudioEffectLimiter>`, :ref:`AudioEffectAmplify<class_AudioEffectAmplify>`, :ref:`AudioEffectFilter<class_AudioEffectFilter>`, :ref:`AudioEffectDistortion<class_AudioEffectDistortion>`, :ref:`AudioEffectDelay<class_AudioEffectDelay>`, :ref:`AudioEffectStereoEnhance<class_AudioEffectStereoEnhance>`, :ref:`AudioEffectReverb<class_AudioEffectReverb>`, :ref:`AudioEffectPanner<class_AudioEffectPanner>`, :ref:`AudioEffectEQ<class_AudioEffectEQ>`, :ref:`AudioEffectPitchShift<class_AudioEffectPitchShift>`, :ref:`AudioEffectRecord<class_AudioEffectRecord>`, :ref:`AudioEffectChorus<class_AudioEffectChorus>`, :ref:`AudioEffectPhaser<class_AudioEffectPhaser>`
+**Inherited By:** :ref:`AudioEffectCompressor<class_AudioEffectCompressor>`, :ref:`AudioEffectLimiter<class_AudioEffectLimiter>`, :ref:`AudioEffectAmplify<class_AudioEffectAmplify>`, :ref:`AudioEffectFilter<class_AudioEffectFilter>`, :ref:`AudioEffectDistortion<class_AudioEffectDistortion>`, :ref:`AudioEffectDelay<class_AudioEffectDelay>`, :ref:`AudioEffectStereoEnhance<class_AudioEffectStereoEnhance>`, :ref:`AudioEffectReverb<class_AudioEffectReverb>`, :ref:`AudioEffectPanner<class_AudioEffectPanner>`, :ref:`AudioEffectEQ<class_AudioEffectEQ>`, :ref:`AudioEffectRecord<class_AudioEffectRecord>`, :ref:`AudioEffectChorus<class_AudioEffectChorus>`, :ref:`AudioEffectPitchShift<class_AudioEffectPitchShift>`, :ref:`AudioEffectPhaser<class_AudioEffectPhaser>`
 
 **Category:** Core
 

+ 1 - 1
classes/class_audioeffectdelay.rst

@@ -79,7 +79,7 @@ Output percent of original sound. At 0, only delayed sounds are output. Value ca
 | *Getter* | is_feedback_active()       |
 +----------+----------------------------+
 
-If ``true`` feedback is enabled. Default value: ``false``.
+If ``true``, feedback is enabled. Default value: ``false``.
 
 .. _class_AudioEffectDelay_feedback/delay_ms:
 

+ 16 - 8
classes/class_audioserver.rst

@@ -32,6 +32,8 @@ Methods
 +---------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`AudioBusLayout<class_AudioBusLayout>`       | :ref:`generate_bus_layout<class_AudioServer_generate_bus_layout>` **(** **)** const                                                                                                   |
 +---------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                             | :ref:`get_bus_channels<class_AudioServer_get_bus_channels>` **(** :ref:`int<class_int>` bus_idx **)** const                                                                           |
++---------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`int<class_int>`                             | :ref:`get_bus_count<class_AudioServer_get_bus_count>` **(** **)** const                                                                                                               |
 +---------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`AudioEffect<class_AudioEffect>`             | :ref:`get_bus_effect<class_AudioServer_get_bus_effect>` **(** :ref:`int<class_int>` bus_idx, :ref:`int<class_int>` effect_idx **)**                                                   |
@@ -166,6 +168,12 @@ Adds an :ref:`AudioEffect<class_AudioEffect>` effect to the bus ``bus_idx`` at `
 
 Generates an :ref:`AudioBusLayout<class_AudioBusLayout>` using the available busses and effects.
 
+.. _class_AudioServer_get_bus_channels:
+
+- :ref:`int<class_int>` **get_bus_channels** **(** :ref:`int<class_int>` bus_idx **)** const
+
+Returns the amount of channels of the bus at index ``bus_idx``.
+
 .. _class_AudioServer_get_bus_count:
 
 - :ref:`int<class_int>` **get_bus_count** **(** **)** const
@@ -244,25 +252,25 @@ Returns the speaker configuration.
 
 - :ref:`bool<class_bool>` **is_bus_bypassing_effects** **(** :ref:`int<class_int>` bus_idx **)** const
 
-If ``true`` the bus at index ``bus_idx`` is bypassing effects.
+If ``true``, the bus at index ``bus_idx`` is bypassing effects.
 
 .. _class_AudioServer_is_bus_effect_enabled:
 
 - :ref:`bool<class_bool>` **is_bus_effect_enabled** **(** :ref:`int<class_int>` bus_idx, :ref:`int<class_int>` effect_idx **)** const
 
-If ``true`` the effect at index ``effect_idx`` on the bus at index ``bus_idx`` is enabled.
+If ``true``, the effect at index ``effect_idx`` on the bus at index ``bus_idx`` is enabled.
 
 .. _class_AudioServer_is_bus_mute:
 
 - :ref:`bool<class_bool>` **is_bus_mute** **(** :ref:`int<class_int>` bus_idx **)** const
 
-If ``true`` the bus at index ``bus_idx`` is muted.
+If ``true``, the bus at index ``bus_idx`` is muted.
 
 .. _class_AudioServer_is_bus_solo:
 
 - :ref:`bool<class_bool>` **is_bus_solo** **(** :ref:`int<class_int>` bus_idx **)** const
 
-If ``true`` the bus at index ``bus_idx`` is in solo mode.
+If ``true``, the bus at index ``bus_idx`` is in solo mode.
 
 .. _class_AudioServer_lock:
 
@@ -292,7 +300,7 @@ Removes the effect at index ``effect_idx`` from the bus at index ``bus_idx``.
 
 - void **set_bus_bypass_effects** **(** :ref:`int<class_int>` bus_idx, :ref:`bool<class_bool>` enable **)**
 
-If ``true`` the bus at index ``bus_idx`` is bypassing effects.
+If ``true``, the bus at index ``bus_idx`` is bypassing effects.
 
 .. _class_AudioServer_set_bus_count:
 
@@ -304,7 +312,7 @@ Adds and removes busses to make the number of busses match ``amount``.
 
 - void **set_bus_effect_enabled** **(** :ref:`int<class_int>` bus_idx, :ref:`int<class_int>` effect_idx, :ref:`bool<class_bool>` enabled **)**
 
-If ``true`` the effect at index ``effect_idx`` on the bus at index ``bus_idx`` is enabled.
+If ``true``, the effect at index ``effect_idx`` on the bus at index ``bus_idx`` is enabled.
 
 .. _class_AudioServer_set_bus_layout:
 
@@ -316,7 +324,7 @@ Overwrites the currently used :ref:`AudioBusLayout<class_AudioBusLayout>`.
 
 - void **set_bus_mute** **(** :ref:`int<class_int>` bus_idx, :ref:`bool<class_bool>` enable **)**
 
-If ``true`` the bus at index ``bus_idx`` is muted.
+If ``true``, the bus at index ``bus_idx`` is muted.
 
 .. _class_AudioServer_set_bus_name:
 
@@ -334,7 +342,7 @@ Connects the output of the bus at ``bus_idx`` to the bus named ``send``.
 
 - void **set_bus_solo** **(** :ref:`int<class_int>` bus_idx, :ref:`bool<class_bool>` enable **)**
 
-If ``true`` the bus at index ``bus_idx`` is in solo mode.
+If ``true``, the bus at index ``bus_idx`` is in solo mode.
 
 .. _class_AudioServer_set_bus_volume_db:
 

+ 2 - 2
classes/class_audiostreamplayer.rst

@@ -97,7 +97,7 @@ Property Descriptions
 | *Getter* | is_autoplay_enabled() |
 +----------+-----------------------+
 
-If ``true`` audio plays when added to scene tree. Default value: ``false``.
+If ``true``, audio plays when added to scene tree. Default value: ``false``.
 
 .. _class_AudioStreamPlayer_bus:
 
@@ -143,7 +143,7 @@ Changes the pitch and the tempo of the audio.
 | *Getter* | is_playing() |
 +----------+--------------+
 
-If ``true`` audio is playing.
+If ``true``, audio is playing.
 
 .. _class_AudioStreamPlayer_stream:
 

+ 2 - 2
classes/class_audiostreamplayer2d.rst

@@ -112,7 +112,7 @@ Dampens audio over distance with this as an exponent.
 | *Getter* | is_autoplay_enabled() |
 +----------+-----------------------+
 
-If ``true`` audio plays when added to scene tree. Default value: ``false``.
+If ``true``, audio plays when added to scene tree. Default value: ``false``.
 
 .. _class_AudioStreamPlayer2D_bus:
 
@@ -158,7 +158,7 @@ Changes the pitch and the tempo of the audio.
 | *Getter* | is_playing() |
 +----------+--------------+
 
-If ``true`` audio is playing.
+If ``true``, audio is playing.
 
 .. _class_AudioStreamPlayer2D_stream:
 

+ 2 - 2
classes/class_audiostreamplayer3d.rst

@@ -185,7 +185,7 @@ Decides if audio should get quieter with distance linearly, quadratically or log
 | *Getter* | is_autoplay_enabled() |
 +----------+-----------------------+
 
-If ``true`` audio plays when added to scene tree. Default value: ``false``.
+If ``true``, audio plays when added to scene tree. Default value: ``false``.
 
 .. _class_AudioStreamPlayer3D_bus:
 
@@ -233,7 +233,7 @@ The angle in which the audio reaches cameras undampened.
 | *Getter* | is_emission_angle_enabled()       |
 +----------+-----------------------------------+
 
-If ``true`` the audio should be dampened according to the direction of the sound.
+If ``true``, the audio should be dampened according to the direction of the sound.
 
 .. _class_AudioStreamPlayer3D_emission_angle_filter_attenuation_db:
 

+ 2 - 0
classes/class_audiostreamsample.rst

@@ -55,6 +55,8 @@ enum **LoopMode**:
 
 - **LOOP_PING_PONG** = **2** --- Audio loops the data between loop_begin and loop_end playing back and forth.
 
+- **LOOP_BACKWARD** = **3** --- Audio loops the data between loop_begin and loop_end playing backward only.
+
 .. _enum_AudioStreamSample_Format:
 
 enum **Format**:

+ 1 - 1
classes/class_bakedlightmap.rst

@@ -142,7 +142,7 @@ Size of affected area.
 | *Getter* | is_hdr()       |
 +----------+----------------+
 
-If ``true`` lightmap can capture light values greater than ``1.0``. Turning this off will result in a smaller lightmap. Default value:``false``.
+If ``true``, lightmap can capture light values greater than ``1.0``. Turning this off will result in a smaller lightmap. Default value:``false``.
 
 .. _class_BakedLightmap_bake_mode:
 

+ 4 - 4
classes/class_basebutton.rst

@@ -150,7 +150,7 @@ To allow both left-click and right-click, set this to 3, because it's BUTTON_MAS
 | *Getter* | is_disabled()       |
 +----------+---------------------+
 
-If ``true`` the button is in disabled state and can't be clicked or toggled.
+If ``true``, the button is in disabled state and can't be clicked or toggled.
 
 .. _class_BaseButton_enabled_focus_mode:
 
@@ -186,7 +186,7 @@ Focus access mode to use when switching between enabled/disabled (see :ref:`Cont
 | *Getter* | is_pressed()       |
 +----------+--------------------+
 
-If ``true`` the button's state is pressed. Means the button is pressed down or toggled (if toggle_mode is active).
+If ``true``, the button's state is pressed. Means the button is pressed down or toggled (if toggle_mode is active).
 
 .. _class_BaseButton_shortcut:
 
@@ -210,7 +210,7 @@ Shortcut associated to the button.
 | *Getter* | is_shortcut_in_tooltip_enabled() |
 +----------+----------------------------------+
 
-If ``true`` the button will add information about its shortcut in the tooltip.
+If ``true``, the button will add information about its shortcut in the tooltip.
 
 .. _class_BaseButton_toggle_mode:
 
@@ -222,7 +222,7 @@ If ``true`` the button will add information about its shortcut in the tooltip.
 | *Getter* | is_toggle_mode()       |
 +----------+------------------------+
 
-If ``true`` the button is in toggle mode. Makes the button flip state between pressed and unpressed each time its area is clicked.
+If ``true``, the button is in toggle mode. Makes the button flip state between pressed and unpressed each time its area is clicked.
 
 Method Descriptions
 -------------------

+ 2 - 2
classes/class_bitmap.rst

@@ -36,7 +36,7 @@ Methods
 +--------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                           | :ref:`set_bit<class_BitMap_set_bit>` **(** :ref:`Vector2<class_Vector2>` position, :ref:`bool<class_bool>` bit **)**                                      |
 +--------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                           | :ref:`set_bit_rect<class_BitMap_set_bit_rect>` **(** :ref:`Rect2<class_Rect2>` p_rect, :ref:`bool<class_bool>` bit **)**                                  |
+| void                           | :ref:`set_bit_rect<class_BitMap_set_bit_rect>` **(** :ref:`Rect2<class_Rect2>` rect, :ref:`bool<class_bool>` bit **)**                                    |
 +--------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------+
 
 Description
@@ -93,7 +93,7 @@ Sets the bitmap's element at the specified position, to the specified value.
 
 .. _class_BitMap_set_bit_rect:
 
-- void **set_bit_rect** **(** :ref:`Rect2<class_Rect2>` p_rect, :ref:`bool<class_bool>` bit **)**
+- void **set_bit_rect** **(** :ref:`Rect2<class_Rect2>` rect, :ref:`bool<class_bool>` bit **)**
 
 Sets a rectangular portion of the bitmap to the specified value.
 

+ 1 - 1
classes/class_bitmapfont.rst

@@ -82,7 +82,7 @@ Ascent (number of pixels above the baseline).
 | *Getter* | is_distance_field_hint()       |
 +----------+--------------------------------+
 
-If ``true`` distance field hint is enabled.
+If ``true``, distance field hint is enabled.
 
 .. _class_BitmapFont_fallback:
 

+ 9 - 8
classes/class_buttongroup.rst

@@ -19,17 +19,12 @@ Group of Buttons.
 Methods
 -------
 
++--------------------------------------+-----------------------------------------------------------------------------+
+| :ref:`Array<class_Array>`            | :ref:`get_buttons<class_ButtonGroup_get_buttons>` **(** **)**               |
 +--------------------------------------+-----------------------------------------------------------------------------+
 | :ref:`BaseButton<class_BaseButton>`  | :ref:`get_pressed_button<class_ButtonGroup_get_pressed_button>` **(** **)** |
 +--------------------------------------+-----------------------------------------------------------------------------+
 
-Theme Properties
-----------------
-
-+---------------------------------+---------------------------------------+
-| :ref:`StyleBox<class_StyleBox>` | :ref:`panel<class_ButtonGroup_panel>` |
-+---------------------------------+---------------------------------------+
-
 Description
 -----------
 
@@ -40,9 +35,15 @@ Group of :ref:`Button<class_Button>`. All direct and indirect children buttons b
 Method Descriptions
 -------------------
 
+.. _class_ButtonGroup_get_buttons:
+
+- :ref:`Array<class_Array>` **get_buttons** **(** **)**
+
+Returns an :ref:`Array<class_Array>` of :ref:`Button<class_Button>`\ s who have this as their ``ButtonGroup`` (see :ref:`BaseButton.group<class_BaseButton_group>`).
+
 .. _class_ButtonGroup_get_pressed_button:
 
 - :ref:`BaseButton<class_BaseButton>` **get_pressed_button** **(** **)**
 
-Return the pressed button.
+Returns the current pressed button.
 

+ 1 - 1
classes/class_camera.rst

@@ -137,7 +137,7 @@ The culling mask that describes which 3D render layers are rendered by this came
 | *Getter* | is_current()       |
 +----------+--------------------+
 
-If ``true`` the ancestor :ref:`Viewport<class_Viewport>` is currently using this Camera. Default value: ``false``.
+If ``true``, the ancestor :ref:`Viewport<class_Viewport>` is currently using this Camera. Default value: ``false``.
 
 .. _class_Camera_doppler_tracking:
 

+ 9 - 9
classes/class_camera2d.rst

@@ -129,7 +129,7 @@ The Camera2D's anchor point. See ``ANCHOR_MODE_*`` constants.
 | *Getter* | is_current() |
 +----------+--------------+
 
-If ``true`` the camera is the active camera for the current scene. Only one camera can be current, so setting a different camera ``current`` will disable this one.
+If ``true``, the camera is the active camera for the current scene. Only one camera can be current, so setting a different camera ``current`` will disable this one.
 
 .. _class_Camera2D_custom_viewport:
 
@@ -165,7 +165,7 @@ Bottom margin needed to drag the camera. A value of ``1`` makes the camera move
 | *Getter* | is_h_drag_enabled()       |
 +----------+---------------------------+
 
-If ``true`` the camera only moves when reaching the horizontal drag margins. If ``false`` the camera moves horizontally regardless of margins. Default value: ``true``.
+If ``true``, the camera only moves when reaching the horizontal drag margins. If ``false``, the camera moves horizontally regardless of margins. Default value: ``true``.
 
 .. _class_Camera2D_drag_margin_left:
 
@@ -213,7 +213,7 @@ Top margin needed to drag the camera. A value of ``1`` makes the camera move onl
 | *Getter* | is_v_drag_enabled()       |
 +----------+---------------------------+
 
-If ``true`` the camera only moves when reaching the vertical drag margins. If ``false`` the camera moves vertically regardless of margins. Default value: ``true``.
+If ``true``, the camera only moves when reaching the vertical drag margins. If ``false``, the camera moves vertically regardless of margins. Default value: ``true``.
 
 .. _class_Camera2D_editor_draw_drag_margin:
 
@@ -225,7 +225,7 @@ If ``true`` the camera only moves when reaching the vertical drag margins. If ``
 | *Getter* | is_margin_drawing_enabled()       |
 +----------+-----------------------------------+
 
-If ``true`` draws the camera's drag margin rectangle in the editor. Default value: ``false``
+If ``true``, draws the camera's drag margin rectangle in the editor. Default value: ``false``
 
 .. _class_Camera2D_editor_draw_limits:
 
@@ -237,7 +237,7 @@ If ``true`` draws the camera's drag margin rectangle in the editor. Default valu
 | *Getter* | is_limit_drawing_enabled()       |
 +----------+----------------------------------+
 
-If ``true`` draws the camera's limits rectangle in the editor. Default value: ``true``
+If ``true``, draws the camera's limits rectangle in the editor. Default value: ``true``
 
 .. _class_Camera2D_editor_draw_screen:
 
@@ -249,7 +249,7 @@ If ``true`` draws the camera's limits rectangle in the editor. Default value: ``
 | *Getter* | is_screen_drawing_enabled()       |
 +----------+-----------------------------------+
 
-If ``true`` draws the camera's screen rectangle in the editor. Default value: ``false``
+If ``true``, draws the camera's screen rectangle in the editor. Default value: ``false``
 
 .. _class_Camera2D_limit_bottom:
 
@@ -297,7 +297,7 @@ Right scroll limit in pixels. The camera stops moving when reaching this value.
 | *Getter* | is_limit_smoothing_enabled()       |
 +----------+------------------------------------+
 
-If ``true`` the camera smoothly stops when reaches its limits. Default value: ``false``
+If ``true``, the camera smoothly stops when reaches its limits. Default value: ``false``
 
 .. _class_Camera2D_limit_top:
 
@@ -357,7 +357,7 @@ The vertical offset of the camera, relative to the drag margins. Default value:
 | *Getter* | is_rotating()       |
 +----------+---------------------+
 
-If ``true`` the camera rotates with the target. Default value: ``false``
+If ``true``, the camera rotates with the target. Default value: ``false``
 
 .. _class_Camera2D_smoothing_enabled:
 
@@ -369,7 +369,7 @@ If ``true`` the camera rotates with the target. Default value: ``false``
 | *Getter* | is_follow_smoothing_enabled()      |
 +----------+------------------------------------+
 
-If ``true`` the camera smoothly moves towards the target at :ref:`smoothing_speed<class_Camera2D_smoothing_speed>`. Default value: ``false``
+If ``true``, the camera smoothly moves towards the target at :ref:`smoothing_speed<class_Camera2D_smoothing_speed>`. Default value: ``false``
 
 .. _class_Camera2D_smoothing_speed:
 

+ 7 - 7
classes/class_canvasitem.rst

@@ -59,7 +59,7 @@ Methods
 +----------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                   | :ref:`draw_multiline_colors<class_CanvasItem_draw_multiline_colors>` **(** :ref:`PoolVector2Array<class_PoolVector2Array>` points, :ref:`PoolColorArray<class_PoolColorArray>` colors, :ref:`float<class_float>` width=1.0, :ref:`bool<class_bool>` antialiased=false **)**                                                                                                               |
 +----------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                   | :ref:`draw_multimesh<class_CanvasItem_draw_multimesh>` **(** :ref:`Mesh<class_Mesh>` mesh, :ref:`Texture<class_Texture>` texture, :ref:`Texture<class_Texture>` normal_map=null **)**                                                                                                                                                                                                     |
+| void                                   | :ref:`draw_multimesh<class_CanvasItem_draw_multimesh>` **(** :ref:`MultiMesh<class_MultiMesh>` multimesh, :ref:`Texture<class_Texture>` texture, :ref:`Texture<class_Texture>` normal_map=null **)**                                                                                                                                                                                      |
 +----------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                   | :ref:`draw_polygon<class_CanvasItem_draw_polygon>` **(** :ref:`PoolVector2Array<class_PoolVector2Array>` points, :ref:`PoolColorArray<class_PoolColorArray>` colors, :ref:`PoolVector2Array<class_PoolVector2Array>` uvs=PoolVector2Array(  ), :ref:`Texture<class_Texture>` texture=null, :ref:`Texture<class_Texture>` normal_map=null, :ref:`bool<class_bool>` antialiased=false **)** |
 +----------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
@@ -274,13 +274,13 @@ The color applied to textures on this ``CanvasItem``. This is not inherited by c
 | *Getter* | is_draw_behind_parent_enabled() |
 +----------+---------------------------------+
 
-If ``true`` the object draws behind its parent. Default value: ``false``.
+If ``true``, the object draws behind its parent. Default value: ``false``.
 
 .. _class_CanvasItem_show_on_top:
 
 - :ref:`bool<class_bool>` **show_on_top**
 
-If ``true`` the object draws on top of its parent. Default value: ``true``.
+If ``true``, the object draws on top of its parent. Default value: ``true``.
 
 .. _class_CanvasItem_use_parent_material:
 
@@ -292,7 +292,7 @@ If ``true`` the object draws on top of its parent. Default value: ``true``.
 | *Getter* | get_use_parent_material()      |
 +----------+--------------------------------+
 
-If ``true`` the parent ``CanvasItem``'s :ref:`material<class_CanvasItem_material>` property is used as this one's material. Default value: ``false``.
+If ``true``, the parent ``CanvasItem``'s :ref:`material<class_CanvasItem_material>` property is used as this one's material. Default value: ``false``.
 
 .. _class_CanvasItem_visible:
 
@@ -304,7 +304,7 @@ If ``true`` the parent ``CanvasItem``'s :ref:`material<class_CanvasItem_material
 | *Getter* | is_visible()       |
 +----------+--------------------+
 
-If ``true`` this ``CanvasItem`` is drawn. Default value: ``true``.
+If ``true``, this ``CanvasItem`` is drawn. Default value: ``true``. For controls that inherit :ref:`Popup<class_Popup>`, the correct way to make them visible is to call one of the multiple popup\*() functions instead.
 
 Method Descriptions
 -------------------
@@ -357,7 +357,7 @@ Draws multiple, parallel lines with a uniform ``width``, segment-by-segment colo
 
 .. _class_CanvasItem_draw_multimesh:
 
-- void **draw_multimesh** **(** :ref:`Mesh<class_Mesh>` mesh, :ref:`Texture<class_Texture>` texture, :ref:`Texture<class_Texture>` normal_map=null **)**
+- void **draw_multimesh** **(** :ref:`MultiMesh<class_MultiMesh>` multimesh, :ref:`Texture<class_Texture>` texture, :ref:`Texture<class_Texture>` normal_map=null **)**
 
 .. _class_CanvasItem_draw_polygon:
 
@@ -565,7 +565,7 @@ If ``enable`` is ``true``, children will be updated with global transform data.
 
 - void **show** **(** **)**
 
-Show the CanvasItem currently hidden.
+Show the CanvasItem currently hidden. For controls that inherit :ref:`Popup<class_Popup>`, the correct way to make them visible is to call one of the multiple popup\*() functions instead.
 
 .. _class_CanvasItem_update:
 

+ 1 - 1
classes/class_centercontainer.rst

@@ -41,5 +41,5 @@ Property Descriptions
 | *Getter* | is_using_top_left()     |
 +----------+-------------------------+
 
-If ``true`` centers children relative to the ``CenterContainer``'s top left corner. Default value: ``false``.
+If ``true``, centers children relative to the ``CenterContainer``'s top left corner. Default value: ``false``.
 

+ 4 - 4
classes/class_collisionobject.rst

@@ -105,7 +105,7 @@ Property Descriptions
 | *Getter* | get_capture_input_on_drag()      |
 +----------+----------------------------------+
 
-If ``true`` the ``CollisionObject`` will continue to receive input events as the mouse is dragged across its shapes. Default value: ``false``.
+If ``true``, the ``CollisionObject`` will continue to receive input events as the mouse is dragged across its shapes. Default value: ``false``.
 
 .. _class_CollisionObject_input_ray_pickable:
 
@@ -117,7 +117,7 @@ If ``true`` the ``CollisionObject`` will continue to receive input events as the
 | *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 :ref:`CollisionObject<class_CollisionObject>`'s shapes will respond to :ref:`RayCast<class_RayCast>`\ s. Default value: ``true``.
 
 Method Descriptions
 -------------------
@@ -150,7 +150,7 @@ Returns an :ref:`Array<class_Array>` of ``owner_id`` identifiers. You can use th
 
 - :ref:`bool<class_bool>` **is_shape_owner_disabled** **(** :ref:`int<class_int>` owner_id **)** const
 
-If ``true`` the shape owner and its shapes are disabled.
+If ``true``, the shape owner and its shapes are disabled.
 
 .. _class_CollisionObject_remove_shape_owner:
 
@@ -216,7 +216,7 @@ Removes a shape from the given shape owner.
 
 - void **shape_owner_set_disabled** **(** :ref:`int<class_int>` owner_id, :ref:`bool<class_bool>` disabled **)**
 
-If ``true`` disables the given shape owner.
+If ``true``, disables the given shape owner.
 
 .. _class_CollisionObject_shape_owner_set_transform:
 

+ 4 - 4
classes/class_collisionobject2d.rst

@@ -9,7 +9,7 @@ CollisionObject2D
 
 **Inherits:** :ref:`Node2D<class_Node2D>` **<** :ref:`CanvasItem<class_CanvasItem>` **<** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>`
 
-**Inherited By:** :ref:`Area2D<class_Area2D>`, :ref:`PhysicsBody2D<class_PhysicsBody2D>`
+**Inherited By:** :ref:`PhysicsBody2D<class_PhysicsBody2D>`, :ref:`Area2D<class_Area2D>`
 
 **Category:** Core
 
@@ -107,7 +107,7 @@ Property Descriptions
 | *Getter* | is_pickable()       |
 +----------+---------------------+
 
-If ``true`` this object is pickable. A pickable object can detect the mouse pointer entering/leaving, and if the mouse is inside it, report input events.
+If ``true``, this object is pickable. A pickable object can detect the mouse pointer entering/leaving, and if the mouse is inside it, report input events.
 
 Method Descriptions
 -------------------
@@ -140,7 +140,7 @@ Returns an :ref:`Array<class_Array>` of ``owner_id`` identifiers. You can use th
 
 - :ref:`bool<class_bool>` **is_shape_owner_disabled** **(** :ref:`int<class_int>` owner_id **)** const
 
-If ``true`` the shape owner and its shapes are disabled.
+If ``true``, the shape owner and its shapes are disabled.
 
 .. _class_CollisionObject2D_is_shape_owner_one_way_collision_enabled:
 
@@ -212,7 +212,7 @@ Removes a shape from the given shape owner.
 
 - void **shape_owner_set_disabled** **(** :ref:`int<class_int>` owner_id, :ref:`bool<class_bool>` disabled **)**
 
-If ``true`` disables the given shape owner.
+If ``true``, disables the given shape owner.
 
 .. _class_CollisionObject2D_shape_owner_set_one_way_collision:
 

+ 2 - 2
classes/class_collisionpolygon2d.rst

@@ -70,7 +70,7 @@ Collision build mode. Use one of the ``BUILD_*`` constants. Default value: ``BUI
 | *Getter* | is_disabled()       |
 +----------+---------------------+
 
-If ``true`` no collisions will be detected.
+If ``true``, no collisions will be detected.
 
 .. _class_CollisionPolygon2D_one_way_collision:
 
@@ -82,7 +82,7 @@ If ``true`` no collisions will be detected.
 | *Getter* | is_one_way_collision_enabled() |
 +----------+--------------------------------+
 
-If ``true`` only edges that face up, relative to CollisionPolygon2D's rotation, will collide with other objects.
+If ``true``, only edges that face up, relative to CollisionPolygon2D's rotation, will collide with other objects.
 
 .. _class_CollisionPolygon2D_polygon:
 

+ 19 - 29
classes/class_color.rst

@@ -462,16 +462,6 @@ Method Descriptions
 
 Constructs a color from an HTML hexadecimal color string in ARGB or RGB format. See also :ref:`@GDScript.ColorN<class_@GDScript_ColorN>`.
 
-The following string formats are supported:
-
-``"#ff00ff00"`` - ARGB format with '#'
-
-``"ff00ff00"`` - ARGB format
-
-``"#ff00ff"`` - RGB format with '#'
-
-``"ff00ff"`` - RGB format
-
 ::
 
     # Each of the following creates the same color RGBA(178, 217, 10, 255)
@@ -498,7 +488,7 @@ Constructs a color from an RGB profile using values between 0 and 1. Alpha will
 
 ::
 
-    var c = Color(0.2, 1.0, .7) # Equivalent to RGBA(51, 255, 178, 255)
+    var c = Color(0.2, 1.0, 0.7) # Equivalent to RGBA(51, 255, 178, 255)
 
 .. _class_Color_Color:
 
@@ -508,7 +498,7 @@ Constructs a color from an RGBA profile using values between 0 and 1.
 
 ::
 
-    var c = Color(0.2, 1.0, .7, .8) # Equivalent to RGBA(51, 255, 178, 204)
+    var c = Color(0.2, 1.0, 0.7, 0.8) # Equivalent to RGBA(51, 255, 178, 204)
 
 .. _class_Color_blend:
 
@@ -519,8 +509,8 @@ Returns a new color resulting from blending this color over another. If the colo
 ::
 
     var bg = Color(0.0, 1.0, 0.0, 0.5) # Green with alpha of 50%
-    var fg = Color(1.0, 0.0, 0.0, .5) # Red with alpha of 50%
-    var blendedColor = bg.blend(fg) # Brown with alpha of 75%
+    var fg = Color(1.0, 0.0, 0.0, 0.5) # Red with alpha of 50%
+    var blended_color = bg.blend(fg) # Brown with alpha of 75%
 
 .. _class_Color_contrasted:
 
@@ -530,14 +520,14 @@ Returns the most contrasting color.
 
 ::
 
-    var c = Color(.3, .4, .9)
-    var contrastedColor = c.contrasted() # Equivalent to RGBA(204, 229, 102, 255)
+    var c = Color(0.3, 0.4, 0.9)
+    var contrasted_color = c.contrasted() # Equivalent to RGBA(204, 229, 102, 255)
 
 .. _class_Color_darkened:
 
 - :ref:`Color<class_Color>` **darkened** **(** :ref:`float<class_float>` amount **)**
 
-Returns a new color resulting from making this color darker by the specified percentage (0-1).
+Returns a new color resulting from making this color darker by the specified percentage (ratio from 0 to 1).
 
 ::
 
@@ -560,7 +550,7 @@ Constructs a color from an HSV profile. ``h``, ``s``, and ``v`` are values betwe
 
 Returns the color's grayscale representation.
 
-The gray is calculated by ``(r + g + b) / 3``.
+The gray value is calculated as ``(r + g + b) / 3``.
 
 ::
 
@@ -575,14 +565,14 @@ Returns the inverted color ``(1 - r, 1 - g, 1 - b, 1 - a)``.
 
 ::
 
-    var c = Color(.3, .4, .9)
-    var invertedColor = c.inverted() # a color of an RGBA(178, 153, 26, 255)
+    var c = Color(0.3, 0.4, 0.9)
+    var inverted_color = c.inverted() # a color of an RGBA(178, 153, 26, 255)
 
 .. _class_Color_lightened:
 
 - :ref:`Color<class_Color>` **lightened** **(** :ref:`float<class_float>` amount **)**
 
-Returns a new color resulting from making this color lighter by the specified percentage (0-1).
+Returns a new color resulting from making this color lighter by the specified percentage (ratio from 0 to 1).
 
 ::
 
@@ -593,7 +583,7 @@ Returns a new color resulting from making this color lighter by the specified pe
 
 - :ref:`Color<class_Color>` **linear_interpolate** **(** :ref:`Color<class_Color>` b, :ref:`float<class_float>` t **)**
 
-Returns the linear interpolation with another color. The value t is between 0 and 1.
+Returns the linear interpolation with another color. The interpolation factor ``t`` is between 0 and 1.
 
 ::
 
@@ -609,7 +599,7 @@ Returns the color's 32-bit integer in ABGR format (each byte represents a compon
 
 ::
 
-    var c = Color(1, .5, .2)
+    var c = Color(1, 0.5, 0.2)
     print(c.to_abgr32()) # Prints 4281565439
 
 .. _class_Color_to_abgr64:
@@ -620,7 +610,7 @@ Returns the color's 64-bit integer in ABGR format (each word represents a compon
 
 ::
 
-    var c = Color(1, .5, .2)
+    var c = Color(1, 0.5, 0.2)
     print(c.to_abgr64()) # Prints -225178692812801
 
 .. _class_Color_to_argb32:
@@ -631,7 +621,7 @@ Returns the color's 32-bit integer in ARGB format (each byte represents a compon
 
 ::
 
-    var c = Color(1, .5, .2)
+    var c = Color(1, 0.5, 0.2)
     print(c.to_argb32()) # Prints 4294934323
 
 .. _class_Color_to_argb64:
@@ -642,7 +632,7 @@ Returns the color's 64-bit integer in ARGB format (each word represents a compon
 
 ::
 
-    var c = Color(1, .5, .2)
+    var c = Color(1, 0.5, 0.2)
     print(c.to_argb64()) # Prints -2147470541
 
 .. _class_Color_to_html:
@@ -655,7 +645,7 @@ Setting ``with_alpha`` to ``false`` excludes alpha from the hexadecimal string.
 
 ::
 
-    var c = Color(1, 1, 1, .5)
+    var c = Color(1, 1, 1, 0.5)
     var s1 = c.to_html() # Results "7fffffff"
     var s2 = c.to_html(false) # Results 'ffffff'
 
@@ -667,7 +657,7 @@ Returns the color's 32-bit integer in RGBA format (each byte represents a compon
 
 ::
 
-    var c = Color(1, .5, .2)
+    var c = Color(1, 0.5, 0.2)
     print(c.to_rgba32()) # Prints 4286526463
 
 .. _class_Color_to_rgba64:
@@ -678,6 +668,6 @@ Returns the color's 64-bit integer in RGBA format (each word represents a compon
 
 ::
 
-    var c = Color(1, .5, .2)
+    var c = Color(1, 0.5, 0.2)
     print(c.to_rgba64()) # Prints -140736629309441
 

+ 34 - 6
classes/class_colorpicker.rst

@@ -32,9 +32,13 @@ Properties
 Methods
 -------
 
-+-------+---------------------------------------------------------------------------------------------+
-| void  | :ref:`add_preset<class_ColorPicker_add_preset>` **(** :ref:`Color<class_Color>` color **)** |
-+-------+---------------------------------------------------------------------------------------------+
++----------------------------------------------+-------------------------------------------------------------------------------------------------+
+| void                                         | :ref:`add_preset<class_ColorPicker_add_preset>` **(** :ref:`Color<class_Color>` color **)**     |
++----------------------------------------------+-------------------------------------------------------------------------------------------------+
+| void                                         | :ref:`erase_preset<class_ColorPicker_erase_preset>` **(** :ref:`Color<class_Color>` color **)** |
++----------------------------------------------+-------------------------------------------------------------------------------------------------+
+| :ref:`PoolColorArray<class_PoolColorArray>`  | :ref:`get_presets<class_ColorPicker_get_presets>` **(** **)** const                             |
++----------------------------------------------+-------------------------------------------------------------------------------------------------+
 
 Theme Properties
 ----------------
@@ -70,6 +74,18 @@ Signals
 
 Emitted when the color is changed.
 
+.. _class_ColorPicker_preset_added:
+
+- **preset_added** **(** :ref:`Color<class_Color>` color **)**
+
+Emitted when a preset is added.
+
+.. _class_ColorPicker_preset_removed:
+
+- **preset_removed** **(** :ref:`Color<class_Color>` color **)**
+
+Emitted when a preset is removed.
+
 Description
 -----------
 
@@ -100,7 +116,7 @@ The currently selected color.
 | *Getter* | is_deferred_mode()       |
 +----------+--------------------------+
 
-If ``true`` the color will apply only after the user releases the mouse button, otherwise it will apply immediately even in mouse motion event (which can cause performance issues).
+If ``true``, the color will apply only after the user releases the mouse button, otherwise it will apply immediately even in mouse motion event (which can cause performance issues).
 
 .. _class_ColorPicker_edit_alpha:
 
@@ -112,7 +128,7 @@ If ``true`` the color will apply only after the user releases the mouse button,
 | *Getter* | is_editing_alpha()    |
 +----------+-----------------------+
 
-If ``true`` shows an alpha channel slider (transparency).
+If ``true``, shows an alpha channel slider (transparency).
 
 .. _class_ColorPicker_raw_mode:
 
@@ -124,7 +140,7 @@ If ``true`` shows an alpha channel slider (transparency).
 | *Getter* | is_raw_mode()       |
 +----------+---------------------+
 
-If ``true`` allows the color R, G, B component values to go beyond 1.0, which can be used for certain special operations that require it (like tinting without darkening or rendering sprites in HDR).
+If ``true``, allows the color R, G, B component values to go beyond 1.0, which can be used for certain special operations that require it (like tinting without darkening or rendering sprites in HDR).
 
 Method Descriptions
 -------------------
@@ -135,3 +151,15 @@ Method Descriptions
 
 Adds the given color to a list of color presets. The presets are displayed in the color picker and the user will be able to select them. Note: the presets list is only for *this* color picker.
 
+.. _class_ColorPicker_erase_preset:
+
+- void **erase_preset** **(** :ref:`Color<class_Color>` color **)**
+
+Remove the given color from the list of color presets of this color picker.
+
+.. _class_ColorPicker_get_presets:
+
+- :ref:`PoolColorArray<class_PoolColorArray>` **get_presets** **(** **)** const
+
+Return the list of colors in the presets of the color picker.
+

+ 1 - 1
classes/class_colorpickerbutton.rst

@@ -106,7 +106,7 @@ The currently selected color.
 | *Getter* | is_editing_alpha()    |
 +----------+-----------------------+
 
-If ``true`` the alpha channel in the displayed :ref:`ColorPicker<class_ColorPicker>` will be visible. Default value: ``true``.
+If ``true``, the alpha channel in the displayed :ref:`ColorPicker<class_ColorPicker>` will be visible. Default value: ``true``.
 
 Method Descriptions
 -------------------

+ 1 - 1
classes/class_container.rst

@@ -9,7 +9,7 @@ Container
 
 **Inherits:** :ref:`Control<class_Control>` **<** :ref:`CanvasItem<class_CanvasItem>` **<** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>`
 
-**Inherited By:** :ref:`PanelContainer<class_PanelContainer>`, :ref:`GridContainer<class_GridContainer>`, :ref:`ScrollContainer<class_ScrollContainer>`, :ref:`ViewportContainer<class_ViewportContainer>`, :ref:`MarginContainer<class_MarginContainer>`, :ref:`CenterContainer<class_CenterContainer>`, :ref:`TabContainer<class_TabContainer>`, :ref:`GraphNode<class_GraphNode>`, :ref:`SplitContainer<class_SplitContainer>`, :ref:`BoxContainer<class_BoxContainer>`, :ref:`EditorProperty<class_EditorProperty>`
+**Inherited By:** :ref:`PanelContainer<class_PanelContainer>`, :ref:`EditorProperty<class_EditorProperty>`, :ref:`GridContainer<class_GridContainer>`, :ref:`ScrollContainer<class_ScrollContainer>`, :ref:`ViewportContainer<class_ViewportContainer>`, :ref:`MarginContainer<class_MarginContainer>`, :ref:`CenterContainer<class_CenterContainer>`, :ref:`GraphNode<class_GraphNode>`, :ref:`SplitContainer<class_SplitContainer>`, :ref:`BoxContainer<class_BoxContainer>`, :ref:`TabContainer<class_TabContainer>`
 
 **Category:** Core
 

+ 1 - 1
classes/class_convexpolygonshape2d.rst

@@ -59,5 +59,5 @@ Method Descriptions
 
 - void **set_point_cloud** **(** :ref:`PoolVector2Array<class_PoolVector2Array>` point_cloud **)**
 
-Currently, this method does nothing.
+Based on the set of points provided, this creates and assigns the :ref:`points<class_ConvexPolygonShape2D_points>` property using the convex hull algorithm. Removing all unneeded points. See :ref:`Geometry.convex_hull_2d<class_Geometry_convex_hull_2d>` for details.
 

+ 1 - 1
classes/class_csgcombiner.rst

@@ -19,5 +19,5 @@ A CSG node that allows you to combine other CSG modifiers.
 Description
 -----------
 
-For complex arrangements of shapes it is sometimes needed to add structure to your CSG nodes. The CSGCombiner node allows you to create this structure. The node encapsulates the result of the CSG operations of its children. In this way it is possible to do operations on one set of shapes that are children of one CSGCombiner node, and a set of separate operations on a second set of shapes that are children of a second CSGCombiner node, and then do an operation that takes the two end results as their input to create the final shape.
+For complex arrangements of shapes, it is sometimes needed to add structure to your CSG nodes. The CSGCombiner node allows you to create this structure. The node encapsulates the result of the CSG operations of its children. In this way, it is possible to do operations on one set of shapes that are children of one CSGCombiner node, and a set of separate operations on a second set of shapes that are children of a second CSGCombiner node, and then do an operation that takes the two end results as its input to create the final shape.
 

+ 1 - 1
classes/class_csgmesh.rst

@@ -26,7 +26,7 @@ Properties
 Description
 -----------
 
-This CSG node allows you to use any mesh resource as a CSG shape provided it is closed, does not self-intersect, does not contain internal faces and has no edges that connect to more then two faces.
+This CSG node allows you to use any mesh resource as a CSG shape, provided it is closed, does not self-intersect, does not contain internal faces and has no edges that connect to more then two faces.
 
 Property Descriptions
 ---------------------

+ 67 - 3
classes/class_csgshape.rst

@@ -24,6 +24,10 @@ Properties
 +-------------------------------------------+--------------------------------------------------------------+
 | :ref:`bool<class_bool>`                   | :ref:`calculate_tangents<class_CSGShape_calculate_tangents>` |
 +-------------------------------------------+--------------------------------------------------------------+
+| :ref:`int<class_int>`                     | :ref:`collision_layer<class_CSGShape_collision_layer>`       |
++-------------------------------------------+--------------------------------------------------------------+
+| :ref:`int<class_int>`                     | :ref:`collision_mask<class_CSGShape_collision_mask>`         |
++-------------------------------------------+--------------------------------------------------------------+
 | :ref:`Operation<enum_CSGShape_Operation>` | :ref:`operation<class_CSGShape_operation>`                   |
 +-------------------------------------------+--------------------------------------------------------------+
 | :ref:`float<class_float>`                 | :ref:`snap<class_CSGShape_snap>`                             |
@@ -34,9 +38,17 @@ Properties
 Methods
 -------
 
-+--------------------------+----------------------------------------------------------------------+
-| :ref:`bool<class_bool>`  | :ref:`is_root_shape<class_CSGShape_is_root_shape>` **(** **)** const |
-+--------------------------+----------------------------------------------------------------------+
++--------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`  | :ref:`get_collision_layer_bit<class_CSGShape_get_collision_layer_bit>` **(** :ref:`int<class_int>` bit **)** const                          |
++--------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`  | :ref:`get_collision_mask_bit<class_CSGShape_get_collision_mask_bit>` **(** :ref:`int<class_int>` bit **)** const                            |
++--------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`  | :ref:`is_root_shape<class_CSGShape_is_root_shape>` **(** **)** const                                                                        |
++--------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
+| void                     | :ref:`set_collision_layer_bit<class_CSGShape_set_collision_layer_bit>` **(** :ref:`int<class_int>` bit, :ref:`bool<class_bool>` value **)** |
++--------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
+| void                     | :ref:`set_collision_mask_bit<class_CSGShape_set_collision_mask_bit>` **(** :ref:`int<class_int>` bit, :ref:`bool<class_bool>` value **)**   |
++--------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
 
 Enumerations
 ------------
@@ -71,6 +83,34 @@ Property Descriptions
 
 Calculate tangents for the CSG shape which allows the use of normal maps. This is only applied on the root shape, this setting is ignored on any child.
 
+.. _class_CSGShape_collision_layer:
+
+- :ref:`int<class_int>` **collision_layer**
+
++----------+----------------------------+
+| *Setter* | set_collision_layer(value) |
++----------+----------------------------+
+| *Getter* | get_collision_layer()      |
++----------+----------------------------+
+
+The physics layers this area is in.
+
+Collidable objects can exist in any of 32 different layers. These layers work like a tagging system, and are not visual. A collidable can use these layers to select with which objects it can collide, using the collision_mask property.
+
+A contact is detected if object A is in any of the layers that object B scans, or object B is in any layer scanned by object A.
+
+.. _class_CSGShape_collision_mask:
+
+- :ref:`int<class_int>` **collision_mask**
+
++----------+---------------------------+
+| *Setter* | set_collision_mask(value) |
++----------+---------------------------+
+| *Getter* | get_collision_mask()      |
++----------+---------------------------+
+
+The physics layers this CSG shape scans for collisions.
+
 .. _class_CSGShape_operation:
 
 - :ref:`Operation<enum_CSGShape_Operation>` **operation**
@@ -108,9 +148,33 @@ Adds a collision shape to the physics engine for our CSG shape. This will always
 Method Descriptions
 -------------------
 
+.. _class_CSGShape_get_collision_layer_bit:
+
+- :ref:`bool<class_bool>` **get_collision_layer_bit** **(** :ref:`int<class_int>` bit **)** const
+
+Returns an individual bit on the collision mask.
+
+.. _class_CSGShape_get_collision_mask_bit:
+
+- :ref:`bool<class_bool>` **get_collision_mask_bit** **(** :ref:`int<class_int>` bit **)** const
+
+Returns an individual bit on the collision mask.
+
 .. _class_CSGShape_is_root_shape:
 
 - :ref:`bool<class_bool>` **is_root_shape** **(** **)** const
 
 Returns true if this is a root shape and is thus the object that is rendered.
 
+.. _class_CSGShape_set_collision_layer_bit:
+
+- void **set_collision_layer_bit** **(** :ref:`int<class_int>` bit, :ref:`bool<class_bool>` value **)**
+
+Sets individual bits on the layer mask. Use this if you only need to change one layer's value.
+
+.. _class_CSGShape_set_collision_mask_bit:
+
+- void **set_collision_mask_bit** **(** :ref:`int<class_int>` bit, :ref:`bool<class_bool>` value **)**
+
+Sets individual bits on the collision mask. Use this if you only need to change one layer's value.
+

+ 1 - 1
classes/class_directionallight.rst

@@ -95,7 +95,7 @@ Amount of extra bias for shadow splits that are far away. If self shadowing occu
 | *Getter* | is_blend_splits_enabled() |
 +----------+---------------------------+
 
-If ``true`` shadow detail is sacrificed in exchange for smoother transitions between splits. Default value:``false``.
+If ``true``, shadow detail is sacrificed in exchange for smoother transitions between splits. Default value:``false``.
 
 .. _class_DirectionalLight_directional_shadow_depth_range:
 

+ 2 - 2
classes/class_dynamicfont.rst

@@ -181,7 +181,7 @@ The font size.
 | *Getter* | get_use_filter()      |
 +----------+-----------------------+
 
-If ``true`` filtering is used.
+If ``true``, filtering is used.
 
 .. _class_DynamicFont_use_mipmaps:
 
@@ -193,7 +193,7 @@ If ``true`` filtering is used.
 | *Getter* | get_use_mipmaps()      |
 +----------+------------------------+
 
-If ``true`` mipmapping is used.
+If ``true``, mipmapping is used.
 
 Method Descriptions
 -------------------

+ 2 - 2
classes/class_editorfiledialog.rst

@@ -167,7 +167,7 @@ The file system path in the address bar.
 | *Getter* | is_overwrite_warning_disabled()      |
 +----------+--------------------------------------+
 
-If ``true`` the ``EditorFileDialog`` will not warn the user before overwriting files.
+If ``true``, the ``EditorFileDialog`` will not warn the user before overwriting files.
 
 .. _class_EditorFileDialog_display_mode:
 
@@ -203,7 +203,7 @@ The purpose of the ``EditorFileDialog``. Changes allowed behaviors.
 | *Getter* | is_showing_hidden_files()    |
 +----------+------------------------------+
 
-If ``true`` hidden files and directories will be visible in the ``EditorFileDialog``.
+If ``true``, hidden files and directories will be visible in the ``EditorFileDialog``.
 
 Method Descriptions
 -------------------

+ 27 - 27
classes/class_editorimportplugin.rst

@@ -19,31 +19,31 @@ Registers a custom resource importer in the editor. Use the class to parse any f
 Methods
 -------
 
-+------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Array<class_Array>`    | :ref:`get_import_options<class_EditorImportPlugin_get_import_options>` **(** :ref:`int<class_int>` preset **)** virtual                                                                                                                                                              |
-+------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`        | :ref:`get_import_order<class_EditorImportPlugin_get_import_order>` **(** **)** virtual                                                                                                                                                                                               |
-+------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_String>`  | :ref:`get_importer_name<class_EditorImportPlugin_get_importer_name>` **(** **)** virtual                                                                                                                                                                                             |
-+------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`      | :ref:`get_option_visibility<class_EditorImportPlugin_get_option_visibility>` **(** :ref:`String<class_String>` option, :ref:`Dictionary<class_Dictionary>` options **)** virtual                                                                                                     |
-+------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`        | :ref:`get_preset_count<class_EditorImportPlugin_get_preset_count>` **(** **)** virtual                                                                                                                                                                                               |
-+------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_String>`  | :ref:`get_preset_name<class_EditorImportPlugin_get_preset_name>` **(** :ref:`int<class_int>` preset **)** virtual                                                                                                                                                                    |
-+------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`    | :ref:`get_priority<class_EditorImportPlugin_get_priority>` **(** **)** virtual                                                                                                                                                                                                       |
-+------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Array<class_Array>`    | :ref:`get_recognized_extensions<class_EditorImportPlugin_get_recognized_extensions>` **(** **)** virtual                                                                                                                                                                             |
-+------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_String>`  | :ref:`get_resource_type<class_EditorImportPlugin_get_resource_type>` **(** **)** virtual                                                                                                                                                                                             |
-+------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_String>`  | :ref:`get_save_extension<class_EditorImportPlugin_get_save_extension>` **(** **)** virtual                                                                                                                                                                                           |
-+------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_String>`  | :ref:`get_visible_name<class_EditorImportPlugin_get_visible_name>` **(** **)** virtual                                                                                                                                                                                               |
-+------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`        | :ref:`import<class_EditorImportPlugin_import>` **(** :ref:`String<class_String>` source_file, :ref:`String<class_String>` save_path, :ref:`Dictionary<class_Dictionary>` options, :ref:`Array<class_Array>` r_platform_variants, :ref:`Array<class_Array>` r_gen_files **)** virtual |
-+------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
++------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Array<class_Array>`    | :ref:`get_import_options<class_EditorImportPlugin_get_import_options>` **(** :ref:`int<class_int>` preset **)** virtual                                                                                                                                                          |
++------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`        | :ref:`get_import_order<class_EditorImportPlugin_get_import_order>` **(** **)** virtual                                                                                                                                                                                           |
++------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_String>`  | :ref:`get_importer_name<class_EditorImportPlugin_get_importer_name>` **(** **)** virtual                                                                                                                                                                                         |
++------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`      | :ref:`get_option_visibility<class_EditorImportPlugin_get_option_visibility>` **(** :ref:`String<class_String>` option, :ref:`Dictionary<class_Dictionary>` options **)** virtual                                                                                                 |
++------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`        | :ref:`get_preset_count<class_EditorImportPlugin_get_preset_count>` **(** **)** virtual                                                                                                                                                                                           |
++------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_String>`  | :ref:`get_preset_name<class_EditorImportPlugin_get_preset_name>` **(** :ref:`int<class_int>` preset **)** virtual                                                                                                                                                                |
++------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`    | :ref:`get_priority<class_EditorImportPlugin_get_priority>` **(** **)** virtual                                                                                                                                                                                                   |
++------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Array<class_Array>`    | :ref:`get_recognized_extensions<class_EditorImportPlugin_get_recognized_extensions>` **(** **)** virtual                                                                                                                                                                         |
++------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_String>`  | :ref:`get_resource_type<class_EditorImportPlugin_get_resource_type>` **(** **)** virtual                                                                                                                                                                                         |
++------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_String>`  | :ref:`get_save_extension<class_EditorImportPlugin_get_save_extension>` **(** **)** virtual                                                                                                                                                                                       |
++------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_String>`  | :ref:`get_visible_name<class_EditorImportPlugin_get_visible_name>` **(** **)** virtual                                                                                                                                                                                           |
++------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`        | :ref:`import<class_EditorImportPlugin_import>` **(** :ref:`String<class_String>` source_file, :ref:`String<class_String>` save_path, :ref:`Dictionary<class_Dictionary>` options, :ref:`Array<class_Array>` platform_variants, :ref:`Array<class_Array>` gen_files **)** virtual |
++------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 
 Description
 -----------
@@ -83,7 +83,7 @@ Below is an example EditorImportPlugin that imports a :ref:`Mesh<class_Mesh>` fr
     func get_import_options(i):
         return [{"name": "my_option", "default_value": false}]
     
-    func import(source_file, save_path, options, r_platform_variants, r_gen_files):
+    func import(source_file, save_path, options, platform_variants, gen_files):
         var file = File.new()
         if file.open(source_file, File.READ) != OK:
             return FAILED
@@ -169,5 +169,5 @@ Get the name to display in the import window.
 
 .. _class_EditorImportPlugin_import:
 
-- :ref:`int<class_int>` **import** **(** :ref:`String<class_String>` source_file, :ref:`String<class_String>` save_path, :ref:`Dictionary<class_Dictionary>` options, :ref:`Array<class_Array>` r_platform_variants, :ref:`Array<class_Array>` r_gen_files **)** virtual
+- :ref:`int<class_int>` **import** **(** :ref:`String<class_String>` source_file, :ref:`String<class_String>` save_path, :ref:`Dictionary<class_Dictionary>` options, :ref:`Array<class_Array>` platform_variants, :ref:`Array<class_Array>` gen_files **)** virtual
 

+ 2 - 2
classes/class_editorinterface.rst

@@ -56,7 +56,7 @@ Methods
 +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                                       | :ref:`save_scene_as<class_EditorInterface_save_scene_as>` **(** :ref:`String<class_String>` path, :ref:`bool<class_bool>` with_preview=true **)**       |
 +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                                       | :ref:`select_file<class_EditorInterface_select_file>` **(** :ref:`String<class_String>` p_file **)**                                                    |
+| void                                                       | :ref:`select_file<class_EditorInterface_select_file>` **(** :ref:`String<class_String>` file **)**                                                      |
 +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                                       | :ref:`set_plugin_enabled<class_EditorInterface_set_plugin_enabled>` **(** :ref:`String<class_String>` plugin, :ref:`bool<class_bool>` enabled **)**     |
 +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------+
@@ -177,7 +177,7 @@ Saves the scene as a file at ``path``.
 
 .. _class_EditorInterface_select_file:
 
-- void **select_file** **(** :ref:`String<class_String>` p_file **)**
+- void **select_file** **(** :ref:`String<class_String>` file **)**
 
 .. _class_EditorInterface_set_plugin_enabled:
 

+ 12 - 0
classes/class_editorplugin.rst

@@ -48,8 +48,12 @@ Methods
 +------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                                 | :ref:`clear<class_EditorPlugin_clear>` **(** **)** virtual                                                                                                                                                                      |
 +------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                                 | :ref:`disable_plugin<class_EditorPlugin_disable_plugin>` **(** **)** virtual                                                                                                                                                    |
++------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                                 | :ref:`edit<class_EditorPlugin_edit>` **(** :ref:`Object<class_Object>` object **)** virtual                                                                                                                                     |
 +------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                                 | :ref:`enable_plugin<class_EditorPlugin_enable_plugin>` **(** **)** virtual                                                                                                                                                      |
++------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                                 | :ref:`forward_canvas_draw_over_viewport<class_EditorPlugin_forward_canvas_draw_over_viewport>` **(** :ref:`Control<class_Control>` overlay **)** virtual                                                                        |
 +------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                                 | :ref:`forward_canvas_force_draw_over_viewport<class_EditorPlugin_forward_canvas_force_draw_over_viewport>` **(** :ref:`Control<class_Control>` overlay **)** virtual                                                            |
@@ -296,12 +300,20 @@ This is used, for example, in shader editors to let the plugin know that it must
 
 Clear all the state and reset the object being edited to zero. This ensures your plugin does not keep editing a currently existing node, or a node from the wrong scene.
 
+.. _class_EditorPlugin_disable_plugin:
+
+- void **disable_plugin** **(** **)** virtual
+
 .. _class_EditorPlugin_edit:
 
 - void **edit** **(** :ref:`Object<class_Object>` object **)** virtual
 
 This function is used for plugins that edit specific object types (nodes or resources). It requests the editor to edit the given object.
 
+.. _class_EditorPlugin_enable_plugin:
+
+- void **enable_plugin** **(** **)** virtual
+
 .. _class_EditorPlugin_forward_canvas_draw_over_viewport:
 
 - void **forward_canvas_draw_over_viewport** **(** :ref:`Control<class_Control>` overlay **)** virtual

+ 1 - 1
classes/class_editorscenepostimport.rst

@@ -49,7 +49,7 @@ The :ref:`post_import<class_EditorScenePostImport_post_import>` callback receive
     
     func iterate(node):
         if node != null:
-            node.name = "modified_"+node.name
+            node.name = "modified_" + node.name
             for child in node.get_children():
                 iterate(child)
 

+ 1 - 1
classes/class_editorsettings.rst

@@ -80,7 +80,7 @@ Method Descriptions
 
 - void **add_property_info** **(** :ref:`Dictionary<class_Dictionary>` info **)**
 
-Add a custom property info to a property. The dictionary must contain: name::ref:`String<class_String>`(the name of the property) and type::ref:`int<class_int>`(see TYPE\_\* in :ref:`@GlobalScope<class_@GlobalScope>`), and optionally hint::ref:`int<class_int>`(see PROPERTY_HINT\_\* in :ref:`@GlobalScope<class_@GlobalScope>`), hint_string::ref:`String<class_String>`.
+Add a custom property info to a property. The dictionary must contain: name::ref:`String<class_String>`\ (the name of the property) and type::ref:`int<class_int>`\ (see TYPE\_\* in :ref:`@GlobalScope<class_@GlobalScope>`), and optionally hint::ref:`int<class_int>`\ (see PROPERTY_HINT\_\* in :ref:`@GlobalScope<class_@GlobalScope>`), hint_string::ref:`String<class_String>`.
 
 Example:
 

+ 203 - 161
classes/class_environment.rst

@@ -19,167 +19,173 @@ Resource for environment nodes (like :ref:`WorldEnvironment<class_WorldEnvironme
 Properties
 ----------
 
-+--------------------------------------------------------+-----------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`                              | :ref:`adjustment_brightness<class_Environment_adjustment_brightness>`                   |
-+--------------------------------------------------------+-----------------------------------------------------------------------------------------+
-| :ref:`Texture<class_Texture>`                          | :ref:`adjustment_color_correction<class_Environment_adjustment_color_correction>`       |
-+--------------------------------------------------------+-----------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`                              | :ref:`adjustment_contrast<class_Environment_adjustment_contrast>`                       |
-+--------------------------------------------------------+-----------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                                | :ref:`adjustment_enabled<class_Environment_adjustment_enabled>`                         |
-+--------------------------------------------------------+-----------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`                              | :ref:`adjustment_saturation<class_Environment_adjustment_saturation>`                   |
-+--------------------------------------------------------+-----------------------------------------------------------------------------------------+
-| :ref:`Color<class_Color>`                              | :ref:`ambient_light_color<class_Environment_ambient_light_color>`                       |
-+--------------------------------------------------------+-----------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`                              | :ref:`ambient_light_energy<class_Environment_ambient_light_energy>`                     |
-+--------------------------------------------------------+-----------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`                              | :ref:`ambient_light_sky_contribution<class_Environment_ambient_light_sky_contribution>` |
-+--------------------------------------------------------+-----------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                                | :ref:`auto_exposure_enabled<class_Environment_auto_exposure_enabled>`                   |
-+--------------------------------------------------------+-----------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`                              | :ref:`auto_exposure_max_luma<class_Environment_auto_exposure_max_luma>`                 |
-+--------------------------------------------------------+-----------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`                              | :ref:`auto_exposure_min_luma<class_Environment_auto_exposure_min_luma>`                 |
-+--------------------------------------------------------+-----------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`                              | :ref:`auto_exposure_scale<class_Environment_auto_exposure_scale>`                       |
-+--------------------------------------------------------+-----------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`                              | :ref:`auto_exposure_speed<class_Environment_auto_exposure_speed>`                       |
-+--------------------------------------------------------+-----------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                                  | :ref:`background_canvas_max_layer<class_Environment_background_canvas_max_layer>`       |
-+--------------------------------------------------------+-----------------------------------------------------------------------------------------+
-| :ref:`Color<class_Color>`                              | :ref:`background_color<class_Environment_background_color>`                             |
-+--------------------------------------------------------+-----------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`                              | :ref:`background_energy<class_Environment_background_energy>`                           |
-+--------------------------------------------------------+-----------------------------------------------------------------------------------------+
-| :ref:`BGMode<enum_Environment_BGMode>`                 | :ref:`background_mode<class_Environment_background_mode>`                               |
-+--------------------------------------------------------+-----------------------------------------------------------------------------------------+
-| :ref:`Sky<class_Sky>`                                  | :ref:`background_sky<class_Environment_background_sky>`                                 |
-+--------------------------------------------------------+-----------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`                              | :ref:`background_sky_custom_fov<class_Environment_background_sky_custom_fov>`           |
-+--------------------------------------------------------+-----------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`                              | :ref:`dof_blur_far_amount<class_Environment_dof_blur_far_amount>`                       |
-+--------------------------------------------------------+-----------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`                              | :ref:`dof_blur_far_distance<class_Environment_dof_blur_far_distance>`                   |
-+--------------------------------------------------------+-----------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                                | :ref:`dof_blur_far_enabled<class_Environment_dof_blur_far_enabled>`                     |
-+--------------------------------------------------------+-----------------------------------------------------------------------------------------+
-| :ref:`DOFBlurQuality<enum_Environment_DOFBlurQuality>` | :ref:`dof_blur_far_quality<class_Environment_dof_blur_far_quality>`                     |
-+--------------------------------------------------------+-----------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`                              | :ref:`dof_blur_far_transition<class_Environment_dof_blur_far_transition>`               |
-+--------------------------------------------------------+-----------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`                              | :ref:`dof_blur_near_amount<class_Environment_dof_blur_near_amount>`                     |
-+--------------------------------------------------------+-----------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`                              | :ref:`dof_blur_near_distance<class_Environment_dof_blur_near_distance>`                 |
-+--------------------------------------------------------+-----------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                                | :ref:`dof_blur_near_enabled<class_Environment_dof_blur_near_enabled>`                   |
-+--------------------------------------------------------+-----------------------------------------------------------------------------------------+
-| :ref:`DOFBlurQuality<enum_Environment_DOFBlurQuality>` | :ref:`dof_blur_near_quality<class_Environment_dof_blur_near_quality>`                   |
-+--------------------------------------------------------+-----------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`                              | :ref:`dof_blur_near_transition<class_Environment_dof_blur_near_transition>`             |
-+--------------------------------------------------------+-----------------------------------------------------------------------------------------+
-| :ref:`Color<class_Color>`                              | :ref:`fog_color<class_Environment_fog_color>`                                           |
-+--------------------------------------------------------+-----------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`                              | :ref:`fog_depth_begin<class_Environment_fog_depth_begin>`                               |
-+--------------------------------------------------------+-----------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`                              | :ref:`fog_depth_curve<class_Environment_fog_depth_curve>`                               |
-+--------------------------------------------------------+-----------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                                | :ref:`fog_depth_enabled<class_Environment_fog_depth_enabled>`                           |
-+--------------------------------------------------------+-----------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`                              | :ref:`fog_depth_end<class_Environment_fog_depth_end>`                                   |
-+--------------------------------------------------------+-----------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                                | :ref:`fog_enabled<class_Environment_fog_enabled>`                                       |
-+--------------------------------------------------------+-----------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`                              | :ref:`fog_height_curve<class_Environment_fog_height_curve>`                             |
-+--------------------------------------------------------+-----------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                                | :ref:`fog_height_enabled<class_Environment_fog_height_enabled>`                         |
-+--------------------------------------------------------+-----------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`                              | :ref:`fog_height_max<class_Environment_fog_height_max>`                                 |
-+--------------------------------------------------------+-----------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`                              | :ref:`fog_height_min<class_Environment_fog_height_min>`                                 |
-+--------------------------------------------------------+-----------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`                              | :ref:`fog_sun_amount<class_Environment_fog_sun_amount>`                                 |
-+--------------------------------------------------------+-----------------------------------------------------------------------------------------+
-| :ref:`Color<class_Color>`                              | :ref:`fog_sun_color<class_Environment_fog_sun_color>`                                   |
-+--------------------------------------------------------+-----------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`                              | :ref:`fog_transmit_curve<class_Environment_fog_transmit_curve>`                         |
-+--------------------------------------------------------+-----------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                                | :ref:`fog_transmit_enabled<class_Environment_fog_transmit_enabled>`                     |
-+--------------------------------------------------------+-----------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                                | :ref:`glow_bicubic_upscale<class_Environment_glow_bicubic_upscale>`                     |
-+--------------------------------------------------------+-----------------------------------------------------------------------------------------+
-| :ref:`GlowBlendMode<enum_Environment_GlowBlendMode>`   | :ref:`glow_blend_mode<class_Environment_glow_blend_mode>`                               |
-+--------------------------------------------------------+-----------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`                              | :ref:`glow_bloom<class_Environment_glow_bloom>`                                         |
-+--------------------------------------------------------+-----------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                                | :ref:`glow_enabled<class_Environment_glow_enabled>`                                     |
-+--------------------------------------------------------+-----------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`                              | :ref:`glow_hdr_luminance_cap<class_Environment_glow_hdr_luminance_cap>`                 |
-+--------------------------------------------------------+-----------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`                              | :ref:`glow_hdr_scale<class_Environment_glow_hdr_scale>`                                 |
-+--------------------------------------------------------+-----------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`                              | :ref:`glow_hdr_threshold<class_Environment_glow_hdr_threshold>`                         |
-+--------------------------------------------------------+-----------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`                              | :ref:`glow_intensity<class_Environment_glow_intensity>`                                 |
-+--------------------------------------------------------+-----------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                                | :ref:`glow_levels/1<class_Environment_glow_levels/1>`                                   |
-+--------------------------------------------------------+-----------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                                | :ref:`glow_levels/2<class_Environment_glow_levels/2>`                                   |
-+--------------------------------------------------------+-----------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                                | :ref:`glow_levels/3<class_Environment_glow_levels/3>`                                   |
-+--------------------------------------------------------+-----------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                                | :ref:`glow_levels/4<class_Environment_glow_levels/4>`                                   |
-+--------------------------------------------------------+-----------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                                | :ref:`glow_levels/5<class_Environment_glow_levels/5>`                                   |
-+--------------------------------------------------------+-----------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                                | :ref:`glow_levels/6<class_Environment_glow_levels/6>`                                   |
-+--------------------------------------------------------+-----------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                                | :ref:`glow_levels/7<class_Environment_glow_levels/7>`                                   |
-+--------------------------------------------------------+-----------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`                              | :ref:`glow_strength<class_Environment_glow_strength>`                                   |
-+--------------------------------------------------------+-----------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`                              | :ref:`ss_reflections_depth_tolerance<class_Environment_ss_reflections_depth_tolerance>` |
-+--------------------------------------------------------+-----------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                                | :ref:`ss_reflections_enabled<class_Environment_ss_reflections_enabled>`                 |
-+--------------------------------------------------------+-----------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`                              | :ref:`ss_reflections_fade_in<class_Environment_ss_reflections_fade_in>`                 |
-+--------------------------------------------------------+-----------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`                              | :ref:`ss_reflections_fade_out<class_Environment_ss_reflections_fade_out>`               |
-+--------------------------------------------------------+-----------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                                  | :ref:`ss_reflections_max_steps<class_Environment_ss_reflections_max_steps>`             |
-+--------------------------------------------------------+-----------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                                | :ref:`ss_reflections_roughness<class_Environment_ss_reflections_roughness>`             |
-+--------------------------------------------------------+-----------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`                              | :ref:`ssao_ao_channel_affect<class_Environment_ssao_ao_channel_affect>`                 |
-+--------------------------------------------------------+-----------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`                              | :ref:`ssao_bias<class_Environment_ssao_bias>`                                           |
-+--------------------------------------------------------+-----------------------------------------------------------------------------------------+
-| :ref:`SSAOBlur<enum_Environment_SSAOBlur>`             | :ref:`ssao_blur<class_Environment_ssao_blur>`                                           |
-+--------------------------------------------------------+-----------------------------------------------------------------------------------------+
-| :ref:`Color<class_Color>`                              | :ref:`ssao_color<class_Environment_ssao_color>`                                         |
-+--------------------------------------------------------+-----------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`                              | :ref:`ssao_edge_sharpness<class_Environment_ssao_edge_sharpness>`                       |
-+--------------------------------------------------------+-----------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                                | :ref:`ssao_enabled<class_Environment_ssao_enabled>`                                     |
-+--------------------------------------------------------+-----------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`                              | :ref:`ssao_intensity<class_Environment_ssao_intensity>`                                 |
-+--------------------------------------------------------+-----------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`                              | :ref:`ssao_intensity2<class_Environment_ssao_intensity2>`                               |
-+--------------------------------------------------------+-----------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`                              | :ref:`ssao_light_affect<class_Environment_ssao_light_affect>`                           |
-+--------------------------------------------------------+-----------------------------------------------------------------------------------------+
-| :ref:`SSAOQuality<enum_Environment_SSAOQuality>`       | :ref:`ssao_quality<class_Environment_ssao_quality>`                                     |
-+--------------------------------------------------------+-----------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`                              | :ref:`ssao_radius<class_Environment_ssao_radius>`                                       |
-+--------------------------------------------------------+-----------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`                              | :ref:`ssao_radius2<class_Environment_ssao_radius2>`                                     |
-+--------------------------------------------------------+-----------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`                              | :ref:`tonemap_exposure<class_Environment_tonemap_exposure>`                             |
-+--------------------------------------------------------+-----------------------------------------------------------------------------------------+
-| :ref:`ToneMapper<enum_Environment_ToneMapper>`         | :ref:`tonemap_mode<class_Environment_tonemap_mode>`                                     |
-+--------------------------------------------------------+-----------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`                              | :ref:`tonemap_white<class_Environment_tonemap_white>`                                   |
-+--------------------------------------------------------+-----------------------------------------------------------------------------------------+
++--------------------------------------------------------+-------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`                              | :ref:`adjustment_brightness<class_Environment_adjustment_brightness>`                     |
++--------------------------------------------------------+-------------------------------------------------------------------------------------------+
+| :ref:`Texture<class_Texture>`                          | :ref:`adjustment_color_correction<class_Environment_adjustment_color_correction>`         |
++--------------------------------------------------------+-------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`                              | :ref:`adjustment_contrast<class_Environment_adjustment_contrast>`                         |
++--------------------------------------------------------+-------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                                | :ref:`adjustment_enabled<class_Environment_adjustment_enabled>`                           |
++--------------------------------------------------------+-------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`                              | :ref:`adjustment_saturation<class_Environment_adjustment_saturation>`                     |
++--------------------------------------------------------+-------------------------------------------------------------------------------------------+
+| :ref:`Color<class_Color>`                              | :ref:`ambient_light_color<class_Environment_ambient_light_color>`                         |
++--------------------------------------------------------+-------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`                              | :ref:`ambient_light_energy<class_Environment_ambient_light_energy>`                       |
++--------------------------------------------------------+-------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`                              | :ref:`ambient_light_sky_contribution<class_Environment_ambient_light_sky_contribution>`   |
++--------------------------------------------------------+-------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                                | :ref:`auto_exposure_enabled<class_Environment_auto_exposure_enabled>`                     |
++--------------------------------------------------------+-------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`                              | :ref:`auto_exposure_max_luma<class_Environment_auto_exposure_max_luma>`                   |
++--------------------------------------------------------+-------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`                              | :ref:`auto_exposure_min_luma<class_Environment_auto_exposure_min_luma>`                   |
++--------------------------------------------------------+-------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`                              | :ref:`auto_exposure_scale<class_Environment_auto_exposure_scale>`                         |
++--------------------------------------------------------+-------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`                              | :ref:`auto_exposure_speed<class_Environment_auto_exposure_speed>`                         |
++--------------------------------------------------------+-------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                                  | :ref:`background_canvas_max_layer<class_Environment_background_canvas_max_layer>`         |
++--------------------------------------------------------+-------------------------------------------------------------------------------------------+
+| :ref:`Color<class_Color>`                              | :ref:`background_color<class_Environment_background_color>`                               |
++--------------------------------------------------------+-------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`                              | :ref:`background_energy<class_Environment_background_energy>`                             |
++--------------------------------------------------------+-------------------------------------------------------------------------------------------+
+| :ref:`BGMode<enum_Environment_BGMode>`                 | :ref:`background_mode<class_Environment_background_mode>`                                 |
++--------------------------------------------------------+-------------------------------------------------------------------------------------------+
+| :ref:`Sky<class_Sky>`                                  | :ref:`background_sky<class_Environment_background_sky>`                                   |
++--------------------------------------------------------+-------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`                              | :ref:`background_sky_custom_fov<class_Environment_background_sky_custom_fov>`             |
++--------------------------------------------------------+-------------------------------------------------------------------------------------------+
+| :ref:`Basis<class_Basis>`                              | :ref:`background_sky_orientation<class_Environment_background_sky_orientation>`           |
++--------------------------------------------------------+-------------------------------------------------------------------------------------------+
+| :ref:`Vector3<class_Vector3>`                          | :ref:`background_sky_rotation<class_Environment_background_sky_rotation>`                 |
++--------------------------------------------------------+-------------------------------------------------------------------------------------------+
+| :ref:`Vector3<class_Vector3>`                          | :ref:`background_sky_rotation_degrees<class_Environment_background_sky_rotation_degrees>` |
++--------------------------------------------------------+-------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`                              | :ref:`dof_blur_far_amount<class_Environment_dof_blur_far_amount>`                         |
++--------------------------------------------------------+-------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`                              | :ref:`dof_blur_far_distance<class_Environment_dof_blur_far_distance>`                     |
++--------------------------------------------------------+-------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                                | :ref:`dof_blur_far_enabled<class_Environment_dof_blur_far_enabled>`                       |
++--------------------------------------------------------+-------------------------------------------------------------------------------------------+
+| :ref:`DOFBlurQuality<enum_Environment_DOFBlurQuality>` | :ref:`dof_blur_far_quality<class_Environment_dof_blur_far_quality>`                       |
++--------------------------------------------------------+-------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`                              | :ref:`dof_blur_far_transition<class_Environment_dof_blur_far_transition>`                 |
++--------------------------------------------------------+-------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`                              | :ref:`dof_blur_near_amount<class_Environment_dof_blur_near_amount>`                       |
++--------------------------------------------------------+-------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`                              | :ref:`dof_blur_near_distance<class_Environment_dof_blur_near_distance>`                   |
++--------------------------------------------------------+-------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                                | :ref:`dof_blur_near_enabled<class_Environment_dof_blur_near_enabled>`                     |
++--------------------------------------------------------+-------------------------------------------------------------------------------------------+
+| :ref:`DOFBlurQuality<enum_Environment_DOFBlurQuality>` | :ref:`dof_blur_near_quality<class_Environment_dof_blur_near_quality>`                     |
++--------------------------------------------------------+-------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`                              | :ref:`dof_blur_near_transition<class_Environment_dof_blur_near_transition>`               |
++--------------------------------------------------------+-------------------------------------------------------------------------------------------+
+| :ref:`Color<class_Color>`                              | :ref:`fog_color<class_Environment_fog_color>`                                             |
++--------------------------------------------------------+-------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`                              | :ref:`fog_depth_begin<class_Environment_fog_depth_begin>`                                 |
++--------------------------------------------------------+-------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`                              | :ref:`fog_depth_curve<class_Environment_fog_depth_curve>`                                 |
++--------------------------------------------------------+-------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                                | :ref:`fog_depth_enabled<class_Environment_fog_depth_enabled>`                             |
++--------------------------------------------------------+-------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`                              | :ref:`fog_depth_end<class_Environment_fog_depth_end>`                                     |
++--------------------------------------------------------+-------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                                | :ref:`fog_enabled<class_Environment_fog_enabled>`                                         |
++--------------------------------------------------------+-------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`                              | :ref:`fog_height_curve<class_Environment_fog_height_curve>`                               |
++--------------------------------------------------------+-------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                                | :ref:`fog_height_enabled<class_Environment_fog_height_enabled>`                           |
++--------------------------------------------------------+-------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`                              | :ref:`fog_height_max<class_Environment_fog_height_max>`                                   |
++--------------------------------------------------------+-------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`                              | :ref:`fog_height_min<class_Environment_fog_height_min>`                                   |
++--------------------------------------------------------+-------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`                              | :ref:`fog_sun_amount<class_Environment_fog_sun_amount>`                                   |
++--------------------------------------------------------+-------------------------------------------------------------------------------------------+
+| :ref:`Color<class_Color>`                              | :ref:`fog_sun_color<class_Environment_fog_sun_color>`                                     |
++--------------------------------------------------------+-------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`                              | :ref:`fog_transmit_curve<class_Environment_fog_transmit_curve>`                           |
++--------------------------------------------------------+-------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                                | :ref:`fog_transmit_enabled<class_Environment_fog_transmit_enabled>`                       |
++--------------------------------------------------------+-------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                                | :ref:`glow_bicubic_upscale<class_Environment_glow_bicubic_upscale>`                       |
++--------------------------------------------------------+-------------------------------------------------------------------------------------------+
+| :ref:`GlowBlendMode<enum_Environment_GlowBlendMode>`   | :ref:`glow_blend_mode<class_Environment_glow_blend_mode>`                                 |
++--------------------------------------------------------+-------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`                              | :ref:`glow_bloom<class_Environment_glow_bloom>`                                           |
++--------------------------------------------------------+-------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                                | :ref:`glow_enabled<class_Environment_glow_enabled>`                                       |
++--------------------------------------------------------+-------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`                              | :ref:`glow_hdr_luminance_cap<class_Environment_glow_hdr_luminance_cap>`                   |
++--------------------------------------------------------+-------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`                              | :ref:`glow_hdr_scale<class_Environment_glow_hdr_scale>`                                   |
++--------------------------------------------------------+-------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`                              | :ref:`glow_hdr_threshold<class_Environment_glow_hdr_threshold>`                           |
++--------------------------------------------------------+-------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`                              | :ref:`glow_intensity<class_Environment_glow_intensity>`                                   |
++--------------------------------------------------------+-------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                                | :ref:`glow_levels/1<class_Environment_glow_levels/1>`                                     |
++--------------------------------------------------------+-------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                                | :ref:`glow_levels/2<class_Environment_glow_levels/2>`                                     |
++--------------------------------------------------------+-------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                                | :ref:`glow_levels/3<class_Environment_glow_levels/3>`                                     |
++--------------------------------------------------------+-------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                                | :ref:`glow_levels/4<class_Environment_glow_levels/4>`                                     |
++--------------------------------------------------------+-------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                                | :ref:`glow_levels/5<class_Environment_glow_levels/5>`                                     |
++--------------------------------------------------------+-------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                                | :ref:`glow_levels/6<class_Environment_glow_levels/6>`                                     |
++--------------------------------------------------------+-------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                                | :ref:`glow_levels/7<class_Environment_glow_levels/7>`                                     |
++--------------------------------------------------------+-------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`                              | :ref:`glow_strength<class_Environment_glow_strength>`                                     |
++--------------------------------------------------------+-------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`                              | :ref:`ss_reflections_depth_tolerance<class_Environment_ss_reflections_depth_tolerance>`   |
++--------------------------------------------------------+-------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                                | :ref:`ss_reflections_enabled<class_Environment_ss_reflections_enabled>`                   |
++--------------------------------------------------------+-------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`                              | :ref:`ss_reflections_fade_in<class_Environment_ss_reflections_fade_in>`                   |
++--------------------------------------------------------+-------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`                              | :ref:`ss_reflections_fade_out<class_Environment_ss_reflections_fade_out>`                 |
++--------------------------------------------------------+-------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                                  | :ref:`ss_reflections_max_steps<class_Environment_ss_reflections_max_steps>`               |
++--------------------------------------------------------+-------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                                | :ref:`ss_reflections_roughness<class_Environment_ss_reflections_roughness>`               |
++--------------------------------------------------------+-------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`                              | :ref:`ssao_ao_channel_affect<class_Environment_ssao_ao_channel_affect>`                   |
++--------------------------------------------------------+-------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`                              | :ref:`ssao_bias<class_Environment_ssao_bias>`                                             |
++--------------------------------------------------------+-------------------------------------------------------------------------------------------+
+| :ref:`SSAOBlur<enum_Environment_SSAOBlur>`             | :ref:`ssao_blur<class_Environment_ssao_blur>`                                             |
++--------------------------------------------------------+-------------------------------------------------------------------------------------------+
+| :ref:`Color<class_Color>`                              | :ref:`ssao_color<class_Environment_ssao_color>`                                           |
++--------------------------------------------------------+-------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`                              | :ref:`ssao_edge_sharpness<class_Environment_ssao_edge_sharpness>`                         |
++--------------------------------------------------------+-------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                                | :ref:`ssao_enabled<class_Environment_ssao_enabled>`                                       |
++--------------------------------------------------------+-------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`                              | :ref:`ssao_intensity<class_Environment_ssao_intensity>`                                   |
++--------------------------------------------------------+-------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`                              | :ref:`ssao_intensity2<class_Environment_ssao_intensity2>`                                 |
++--------------------------------------------------------+-------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`                              | :ref:`ssao_light_affect<class_Environment_ssao_light_affect>`                             |
++--------------------------------------------------------+-------------------------------------------------------------------------------------------+
+| :ref:`SSAOQuality<enum_Environment_SSAOQuality>`       | :ref:`ssao_quality<class_Environment_ssao_quality>`                                       |
++--------------------------------------------------------+-------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`                              | :ref:`ssao_radius<class_Environment_ssao_radius>`                                         |
++--------------------------------------------------------+-------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`                              | :ref:`ssao_radius2<class_Environment_ssao_radius2>`                                       |
++--------------------------------------------------------+-------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`                              | :ref:`tonemap_exposure<class_Environment_tonemap_exposure>`                               |
++--------------------------------------------------------+-------------------------------------------------------------------------------------------+
+| :ref:`ToneMapper<enum_Environment_ToneMapper>`         | :ref:`tonemap_mode<class_Environment_tonemap_mode>`                                       |
++--------------------------------------------------------+-------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`                              | :ref:`tonemap_white<class_Environment_tonemap_white>`                                     |
++--------------------------------------------------------+-------------------------------------------------------------------------------------------+
 
 Enumerations
 ------------
@@ -511,6 +517,42 @@ Defines the mode of background.
 
 :ref:`Sky<class_Sky>` resource's custom field of view.
 
+.. _class_Environment_background_sky_orientation:
+
+- :ref:`Basis<class_Basis>` **background_sky_orientation**
+
++----------+----------------------------+
+| *Setter* | set_sky_orientation(value) |
++----------+----------------------------+
+| *Getter* | get_sky_orientation()      |
++----------+----------------------------+
+
+:ref:`Sky<class_Sky>` resource's rotation expressed as a :ref:`Basis<class_Basis>`
+
+.. _class_Environment_background_sky_rotation:
+
+- :ref:`Vector3<class_Vector3>` **background_sky_rotation**
+
++----------+-------------------------+
+| *Setter* | set_sky_rotation(value) |
++----------+-------------------------+
+| *Getter* | get_sky_rotation()      |
++----------+-------------------------+
+
+:ref:`Sky<class_Sky>` resource's rotation expressed as euler angles in radians
+
+.. _class_Environment_background_sky_rotation_degrees:
+
+- :ref:`Vector3<class_Vector3>` **background_sky_rotation_degrees**
+
++----------+---------------------------------+
+| *Setter* | set_sky_rotation_degrees(value) |
++----------+---------------------------------+
+| *Getter* | get_sky_rotation_degrees()      |
++----------+---------------------------------+
+
+:ref:`Sky<class_Sky>` resource's rotation expressed as euler angles in degrees
+
 .. _class_Environment_dof_blur_far_amount:
 
 - :ref:`float<class_float>` **dof_blur_far_amount**

+ 1 - 1
classes/class_file.rst

@@ -183,7 +183,7 @@ Property Descriptions
 | *Getter* | get_endian_swap()      |
 +----------+------------------------+
 
-If ``true`` the file's endianness is swapped. Use this if you're dealing with files written in big endian machines.
+If ``true``, the file's endianness is swapped. Use this if you're dealing with files written in big endian machines.
 
 Note that this is about the file format, not CPU type. This is always reset to ``false`` whenever you open the file.
 

+ 18 - 0
classes/class_gdnativelibraryresourceloader.rst

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

+ 18 - 0
classes/class_gdnativelibraryresourcesaver.rst

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

+ 12 - 12
classes/class_generic6dofjoint.rst

@@ -282,7 +282,7 @@ The lower, the longer an impulse from one side takes to travel to the other side
 | *Getter* | get_flag_x()      |
 +----------+-------------------+
 
-If ``true`` rotation across the x-axis is limited.
+If ``true``, rotation across the x-axis is limited.
 
 .. _class_Generic6DOFJoint_angular_limit_x/erp:
 
@@ -366,7 +366,7 @@ The amount of rotational damping across the y-axis. The lower, the more dampenin
 | *Getter* | get_flag_y()      |
 +----------+-------------------+
 
-If ``true`` rotation across the y-axis is limited.
+If ``true``, rotation across the y-axis is limited.
 
 .. _class_Generic6DOFJoint_angular_limit_y/erp:
 
@@ -450,7 +450,7 @@ The amount of rotational damping across the z-axis. The lower, the more dampenin
 | *Getter* | get_flag_z()      |
 +----------+-------------------+
 
-If ``true`` rotation across the z-axis is limited.
+If ``true``, rotation across the z-axis is limited.
 
 .. _class_Generic6DOFJoint_angular_limit_z/erp:
 
@@ -522,7 +522,7 @@ The minimum rotation in positive direction to break loose and rotate around the
 | *Getter* | get_flag_x()      |
 +----------+-------------------+
 
-If ``true`` a rotating motor at the x-axis is enabled.
+If ``true``, a rotating motor at the x-axis is enabled.
 
 .. _class_Generic6DOFJoint_angular_motor_x/force_limit:
 
@@ -558,7 +558,7 @@ Target speed for the motor at the x-axis.
 | *Getter* | get_flag_y()      |
 +----------+-------------------+
 
-If ``true`` a rotating motor at the y-axis is enabled.
+If ``true``, a rotating motor at the y-axis is enabled.
 
 .. _class_Generic6DOFJoint_angular_motor_y/force_limit:
 
@@ -594,7 +594,7 @@ Target speed for the motor at the y-axis.
 | *Getter* | get_flag_z()      |
 +----------+-------------------+
 
-If ``true`` a rotating motor at the z-axis is enabled.
+If ``true``, a rotating motor at the z-axis is enabled.
 
 .. _class_Generic6DOFJoint_angular_motor_z/force_limit:
 
@@ -762,7 +762,7 @@ The amount of damping that happens at the x-motion.
 | *Getter* | get_flag_x()      |
 +----------+-------------------+
 
-If ``true`` the linear motion across the x-axis is limited.
+If ``true``, the linear motion across the x-axis is limited.
 
 .. _class_Generic6DOFJoint_linear_limit_x/lower_distance:
 
@@ -834,7 +834,7 @@ The amount of damping that happens at the y-motion.
 | *Getter* | get_flag_y()      |
 +----------+-------------------+
 
-If ``true`` the linear motion across the y-axis is limited.
+If ``true``, the linear motion across the y-axis is limited.
 
 .. _class_Generic6DOFJoint_linear_limit_y/lower_distance:
 
@@ -906,7 +906,7 @@ The amount of damping that happens at the z-motion.
 | *Getter* | get_flag_z()      |
 +----------+-------------------+
 
-If ``true`` the linear motion across the z-axis is limited.
+If ``true``, the linear motion across the z-axis is limited.
 
 .. _class_Generic6DOFJoint_linear_limit_z/lower_distance:
 
@@ -966,7 +966,7 @@ The maximum difference between the pivot points' z-axis.
 | *Getter* | get_flag_x()      |
 +----------+-------------------+
 
-If ``true`` then there is a linear motor on the x-axis. It will attempt to reach the target velocity while staying within the force limits.
+If ``true``, then there is a linear motor on the x-axis. It will attempt to reach the target velocity while staying within the force limits.
 
 .. _class_Generic6DOFJoint_linear_motor_x/force_limit:
 
@@ -1002,7 +1002,7 @@ The speed that the linear motor will attempt to reach on the x-axis.
 | *Getter* | get_flag_y()      |
 +----------+-------------------+
 
-If ``true`` then there is a linear motor on the y-axis. It will attempt to reach the target velocity while staying within the force limits.
+If ``true``, then there is a linear motor on the y-axis. It will attempt to reach the target velocity while staying within the force limits.
 
 .. _class_Generic6DOFJoint_linear_motor_y/force_limit:
 
@@ -1038,7 +1038,7 @@ The speed that the linear motor will attempt to reach on the y-axis.
 | *Getter* | get_flag_z()      |
 +----------+-------------------+
 
-If ``true`` then there is a linear motor on the z-axis. It will attempt to reach the target velocity while staying within the force limits.
+If ``true``, then there is a linear motor on the z-axis. It will attempt to reach the target velocity while staying within the force limits.
 
 .. _class_Generic6DOFJoint_linear_motor_z/force_limit:
 

+ 1 - 1
classes/class_geometryinstance.rst

@@ -174,5 +174,5 @@ If there is a material in material_override, it will be used instead of any mate
 | *Getter* | get_flag()      |
 +----------+-----------------+
 
-If ``true`` this GeometryInstance will be used when baking lights using a :ref:`GIProbe<class_GIProbe>` and/or any other form of baked lighting.
+If ``true``, this GeometryInstance will be used when baking lights using a :ref:`GIProbe<class_GIProbe>` and/or any other form of baked lighting.
 

+ 2 - 2
classes/class_graphedit.rst

@@ -146,7 +146,7 @@ Emitted when a GraphNode is selected.
 
 .. _class_GraphEdit_popup_request:
 
-- **popup_request** **(** :ref:`Vector2<class_Vector2>` p_position **)**
+- **popup_request** **(** :ref:`Vector2<class_Vector2>` position **)**
 
 Signal sent when a popup is requested. Happens on right-clicking in the GraphEdit. 'p_position' is the position of the mouse pointer when the signal is sent.
 
@@ -267,7 +267,7 @@ Remove the connection between 'from_port' slot of 'from' GraphNode and 'to_port'
 
 - :ref:`Array<class_Array>` **get_connection_list** **(** **)** const
 
-Return an Array containing the list of connections. A connection consists in a structure of the form {from_slot: 0, from: "GraphNode name 0", to_slot: 1, to: "GraphNode name 1" }
+Return an Array containing the list of connections. A connection consists in a structure of the form {from_port: 0, from: "GraphNode name 0", to_port: 1, to: "GraphNode name 1" }
 
 .. _class_GraphEdit_get_zoom_hbox:
 

+ 2 - 0
classes/class_graphnode.rst

@@ -82,6 +82,8 @@ Theme Properties
 +---------------------------------+-----------------------------------------------------+
 | :ref:`Texture<class_Texture>`   | :ref:`close<class_GraphNode_close>`                 |
 +---------------------------------+-----------------------------------------------------+
+| :ref:`Color<class_Color>`       | :ref:`close_color<class_GraphNode_close_color>`     |
++---------------------------------+-----------------------------------------------------+
 | :ref:`int<class_int>`           | :ref:`close_offset<class_GraphNode_close_offset>`   |
 +---------------------------------+-----------------------------------------------------+
 | :ref:`StyleBox<class_StyleBox>` | :ref:`comment<class_GraphNode_comment>`             |

+ 3 - 3
classes/class_gridmap.rst

@@ -116,7 +116,7 @@ Property Descriptions
 | *Getter* | get_center_x()      |
 +----------+---------------------+
 
-If ``true`` grid items are centered on the X axis.
+If ``true``, grid items are centered on the X axis.
 
 .. _class_GridMap_cell_center_y:
 
@@ -128,7 +128,7 @@ If ``true`` grid items are centered on the X axis.
 | *Getter* | get_center_y()      |
 +----------+---------------------+
 
-If ``true`` grid items are centered on the Y axis.
+If ``true``, grid items are centered on the Y axis.
 
 .. _class_GridMap_cell_center_z:
 
@@ -140,7 +140,7 @@ If ``true`` grid items are centered on the Y axis.
 | *Getter* | get_center_z()      |
 +----------+---------------------+
 
-If ``true`` grid items are centered on the Z axis.
+If ``true``, grid items are centered on the Z axis.
 
 .. _class_GridMap_cell_octant_size:
 

+ 2 - 2
classes/class_hingejoint.rst

@@ -48,7 +48,7 @@ Enumerations
 
 enum **Flag**:
 
-- **FLAG_USE_LIMIT** = **0** --- If ``true`` the hinges maximum and minimum rotation, defined by :ref:`angular_limit/lower<class_HingeJoint_angular_limit/lower>` and :ref:`angular_limit/upper<class_HingeJoint_angular_limit/upper>` has effects.
+- **FLAG_USE_LIMIT** = **0** --- If ``true``, the hinges maximum and minimum rotation, defined by :ref:`angular_limit/lower<class_HingeJoint_angular_limit/lower>` and :ref:`angular_limit/upper<class_HingeJoint_angular_limit/upper>` has effects.
 
 - **FLAG_ENABLE_MOTOR** = **1** --- When activated, a motor turns the hinge.
 
@@ -106,7 +106,7 @@ The speed with which the rotation across the axis perpendicular to the hinge get
 | *Getter* | get_flag()      |
 +----------+-----------------+
 
-If ``true`` the hinges maximum and minimum rotation, defined by :ref:`angular_limit/lower<class_HingeJoint_angular_limit/lower>` and :ref:`angular_limit/upper<class_HingeJoint_angular_limit/upper>` has effects.
+If ``true``, the hinges maximum and minimum rotation, defined by :ref:`angular_limit/lower<class_HingeJoint_angular_limit/lower>` and :ref:`angular_limit/upper<class_HingeJoint_angular_limit/upper>` has effects.
 
 .. _class_HingeJoint_angular_limit/lower:
 

+ 9 - 9
classes/class_httpclient.rst

@@ -341,13 +341,13 @@ Returns a STATUS\_\* enum constant. Need to call :ref:`poll<class_HTTPClient_pol
 
 - :ref:`bool<class_bool>` **has_response** **(** **)** const
 
-If ``true`` this ``HTTPClient`` has a response available.
+If ``true``, this ``HTTPClient`` has a response available.
 
 .. _class_HTTPClient_is_response_chunked:
 
 - :ref:`bool<class_bool>` **is_response_chunked** **(** **)** const
 
-If ``true`` this ``HTTPClient`` has a response that is chunked.
+If ``true``, this ``HTTPClient`` has a response that is chunked.
 
 .. _class_HTTPClient_poll:
 
@@ -364,16 +364,16 @@ Generates a GET/POST application/x-www-form-urlencoded style query string from a
 ::
 
     var fields = {"username": "user", "password": "pass"}
-    String queryString = httpClient.query_string_from_dict(fields)
-    returns:= "username=user&password=pass"
+    String query_string = http_client.query_string_from_dict(fields)
+    # returns: "username=user&password=pass"
 
 Furthermore, if a key has a null value, only the key itself is added, without equal sign and value. If the value is an array, for each value in it a pair with the same key is added.
 
 ::
 
     var fields = {"single": 123, "not_valued": null, "multiple": [22, 33, 44]}
-    String queryString = httpClient.query_string_from_dict(fields)
-    returns:= "single=123&not_valued&multiple=22&multiple=33&multiple=44"
+    String query_string = http_client.query_string_from_dict(fields)
+    # returns: "single=123&not_valued&multiple=22&multiple=33&multiple=44"
 
 .. _class_HTTPClient_read_response_body_chunk:
 
@@ -394,9 +394,9 @@ To create a POST request with query strings to push to the server, do:
 ::
 
     var fields = {"username" : "user", "password" : "pass"}
-    var queryString = httpClient.query_string_from_dict(fields)
-    var headers = ["Content-Type: application/x-www-form-urlencoded", "Content-Length: " + str(queryString.length())]
-    var result = httpClient.request(httpClient.METHOD_POST, "index.php", headers, queryString)
+    var query_string = http_client.query_string_from_dict(fields)
+    var headers = ["Content-Type: application/x-www-form-urlencoded", "Content-Length: " + str(query_string.length())]
+    var result = http_client.request(http_client.METHOD_POST, "index.php", headers, query_string)
 
 .. _class_HTTPClient_request_raw:
 

+ 1 - 1
classes/class_httprequest.rst

@@ -145,7 +145,7 @@ Maximum number of allowed redirects.
 | *Getter* | is_using_threads()     |
 +----------+------------------------+
 
-If ``true`` multithreading is used to improve performance.
+If ``true``, multithreading is used to improve performance.
 
 Method Descriptions
 -------------------

+ 1 - 1
classes/class_inputeventaction.rst

@@ -60,5 +60,5 @@ The action's name. Actions are accessed via this :ref:`String<class_String>`.
 | *Getter* | is_pressed()       |
 +----------+--------------------+
 
-If ``true`` the action's state is pressed. If ``false`` the action's state is released.
+If ``true``, the action's state is pressed. If ``false``, the action's state is released.
 

+ 1 - 1
classes/class_inputeventjoypadbutton.rst

@@ -62,7 +62,7 @@ Button identifier. One of the ``JOY_BUTTON_*`` constants from :ref:`@GlobalScope
 | *Getter* | is_pressed()       |
 +----------+--------------------+
 
-If ``true`` the button's state is pressed. If ``false`` the button's state is released.
+If ``true``, the button's state is pressed. If ``false``, the button's state is released.
 
 .. _class_InputEventJoypadButton_pressure:
 

+ 2 - 2
classes/class_inputeventkey.rst

@@ -59,7 +59,7 @@ Property Descriptions
 | *Getter* | is_echo()       |
 +----------+-----------------+
 
-If ``true`` the key was already pressed before this event. It means the user is holding the key down.
+If ``true``, the key was already pressed before this event. It means the user is holding the key down.
 
 .. _class_InputEventKey_pressed:
 
@@ -71,7 +71,7 @@ If ``true`` the key was already pressed before this event. It means the user is
 | *Getter* | is_pressed()       |
 +----------+--------------------+
 
-If ``true`` the key's state is pressed. If ``false`` the key's state is released.
+If ``true``, the key's state is pressed. If ``false``, the key's state is released.
 
 .. _class_InputEventKey_scancode:
 

+ 2 - 2
classes/class_inputeventmousebutton.rst

@@ -64,7 +64,7 @@ Mouse button identifier, one of the BUTTON\_\* or BUTTON_WHEEL\_\* constants in
 | *Getter* | is_doubleclick()       |
 +----------+------------------------+
 
-If ``true`` the mouse button's state is a double-click.
+If ``true``, the mouse button's state is a double-click.
 
 .. _class_InputEventMouseButton_factor:
 
@@ -88,5 +88,5 @@ Magnitude. Amount (or delta) of the event. Used for scroll events, indicates scr
 | *Getter* | is_pressed()       |
 +----------+--------------------+
 
-If ``true`` the mouse button's state is pressed. If ``false`` the mouse button's state is released.
+If ``true``, the mouse button's state is pressed. If ``false``, the mouse button's state is released.
 

+ 1 - 1
classes/class_inputeventscreentouch.rst

@@ -76,5 +76,5 @@ Touch position.
 | *Getter* | is_pressed()       |
 +----------+--------------------+
 
-If ``true`` the touch's state is pressed. If ``false`` the touch's state is released.
+If ``true``, the touch's state is pressed. If ``false``, the touch's state is released.
 

+ 1 - 1
classes/class_interpolatedcamera.rst

@@ -54,7 +54,7 @@ Property Descriptions
 | *Getter* | is_interpolation_enabled()       |
 +----------+----------------------------------+
 
-If ``true`` and a target is set, the camera will move automatically.
+If ``true``, and a target is set, the camera will move automatically.
 
 .. _class_InterpolatedCamera_speed:
 

+ 2 - 2
classes/class_itemlist.rst

@@ -243,7 +243,7 @@ Property Descriptions
 | *Getter* | get_allow_reselect()      |
 +----------+---------------------------+
 
-If ``true`` the currently selected item may be selected again.
+If ``true``, the currently selected item may be selected again.
 
 .. _class_ItemList_allow_rmb_select:
 
@@ -255,7 +255,7 @@ If ``true`` the currently selected item may be selected again.
 | *Getter* | get_allow_rmb_select()      |
 +----------+-----------------------------+
 
-If ``true`` a right mouse button click can select items.
+If ``true``, a right mouse button click can select items.
 
 .. _class_ItemList_auto_height:
 

+ 1 - 1
classes/class_joint.rst

@@ -49,7 +49,7 @@ Property Descriptions
 | *Getter* | get_exclude_nodes_from_collision()      |
 +----------+-----------------------------------------+
 
-If ``true`` the two bodies of the nodes are not able to collide with each other.
+If ``true``, the two bodies of the nodes are not able to collide with each other.
 
 .. _class_Joint_nodes/node_a:
 

+ 1 - 1
classes/class_joint2d.rst

@@ -61,7 +61,7 @@ When :ref:`node_a<class_Joint2D_node_a>` and :ref:`node_b<class_Joint2D_node_b>`
 | *Getter* | get_exclude_nodes_from_collision()      |
 +----------+-----------------------------------------+
 
-If ``true`` :ref:`node_a<class_Joint2D_node_a>` and :ref:`node_b<class_Joint2D_node_b>` can collide. Default value: ``false``.
+If ``true``, :ref:`node_a<class_Joint2D_node_a>` and :ref:`node_b<class_Joint2D_node_b>` can collide. Default value: ``false``.
 
 .. _class_Joint2D_node_a:
 

+ 7 - 1
classes/class_kinematicbody.rst

@@ -93,6 +93,8 @@ If the body is at least this close to another body, this body will consider them
 | *Getter* | get_axis_lock()      |
 +----------+----------------------+
 
+Lock the body's movement in the x-axis.
+
 .. _class_KinematicBody_move_lock_y:
 
 - :ref:`bool<class_bool>` **move_lock_y**
@@ -103,6 +105,8 @@ If the body is at least this close to another body, this body will consider them
 | *Getter* | get_axis_lock()      |
 +----------+----------------------+
 
+Lock the body's movement in the y-axis.
+
 .. _class_KinematicBody_move_lock_z:
 
 - :ref:`bool<class_bool>` **move_lock_z**
@@ -113,6 +117,8 @@ If the body is at least this close to another body, this body will consider them
 | *Getter* | get_axis_lock()      |
 +----------+----------------------+
 
+Lock the body's movement in the z-axis.
+
 Method Descriptions
 -------------------
 
@@ -166,7 +172,7 @@ If ``test_only`` is ``true``, the body does not move but the would-be collision
 
 Moves the body along a vector. If the body collides with another, it will slide along the other body rather than stop immediately. If the other body is a ``KinematicBody`` or :ref:`RigidBody<class_RigidBody>`, it will also be affected by the motion of the other body. You can use this to make moving or rotating platforms, or to make nodes push other nodes.
 
-``linear_velocity`` is a value in pixels per second. Unlike in for example :ref:`move_and_collide<class_KinematicBody_move_and_collide>`, you should *not* multiply it with ``delta`` — this is done by the method.
+``linear_velocity`` is a value in pixels per second. Unlike in for example :ref:`move_and_collide<class_KinematicBody_move_and_collide>`, you should *not* multiply it by ``delta`` — this is done by the method.
 
 ``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.
 

+ 2 - 2
classes/class_kinematicbody2d.rst

@@ -84,7 +84,7 @@ If the body is at least this close to another body, this body will consider them
 | *Getter* | is_sync_to_physics_enabled() |
 +----------+------------------------------+
 
-If ``true`` the body's movement will be synchronized to the physics frame. This is useful when animating movement via :ref:`AnimationPlayer<class_AnimationPlayer>`, for example on moving platforms.
+If ``true``, the body's movement will be synchronized to the physics frame. This is useful when animating movement via :ref:`AnimationPlayer<class_AnimationPlayer>`, for example on moving platforms.
 
 Method Descriptions
 -------------------
@@ -137,7 +137,7 @@ Moves the body along the vector ``rel_vec``. The body will stop if it collides.
 
 Moves the body along a vector. If the body collides with another, it will slide along the other body rather than stop immediately. If the other body is a ``KinematicBody2D`` or :ref:`RigidBody2D<class_RigidBody2D>`, it will also be affected by the motion of the other body. You can use this to make moving or rotating platforms, or to make nodes push other nodes.
 
-``linear_velocity`` is a value in pixels per second. Unlike in for example :ref:`move_and_collide<class_KinematicBody2D_move_and_collide>`, you should *not* multiply it with ``delta`` — this is done by the method.
+``linear_velocity`` is a value in pixels per second. Unlike in for example :ref:`move_and_collide<class_KinematicBody2D_move_and_collide>`, you should *not* multiply it by ``delta`` — this is done by the method.
 
 ``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.
 

+ 3 - 3
classes/class_light.rst

@@ -121,7 +121,7 @@ Property Descriptions
 | *Getter* | is_editor_only()       |
 +----------+------------------------+
 
-If ``true`` the light only appears in the editor and will not be visible at runtime. Default value:``false``.
+If ``true``, the light only appears in the editor and will not be visible at runtime. Default value:``false``.
 
 .. _class_Light_light_bake_mode:
 
@@ -193,7 +193,7 @@ Secondary multiplier used with indirect light (light bounces). This works in bak
 | *Getter* | is_negative()       |
 +----------+---------------------+
 
-If ``true`` the light's effect is reversed, darkening areas and casting bright shadows. Default value: ``false``.
+If ``true``, the light's effect is reversed, darkening areas and casting bright shadows. Default value: ``false``.
 
 .. _class_Light_light_specular:
 
@@ -253,7 +253,7 @@ Attempts to reduce :ref:`shadow_bias<class_Light_shadow_bias>` gap.
 | *Getter* | has_shadow()      |
 +----------+-------------------+
 
-If ``true`` the light will cast shadows. Default value: ``false``.
+If ``true``, the light will cast shadows. Default value: ``false``.
 
 .. _class_Light_shadow_reverse_cull_face:
 

+ 3 - 3
classes/class_light2d.rst

@@ -124,7 +124,7 @@ The Light2D's :ref:`Color<class_Color>`.
 | *Getter* | is_editor_only()       |
 +----------+------------------------+
 
-If ``true`` Light2D will only appear when editing the scene. Default value: ``false``.
+If ``true``, Light2D will only appear when editing the scene. Default value: ``false``.
 
 .. _class_Light2D_enabled:
 
@@ -136,7 +136,7 @@ If ``true`` Light2D will only appear when editing the scene. Default value: ``fa
 | *Getter* | is_enabled()       |
 +----------+--------------------+
 
-If ``true`` Light2D will emit light. Default value: ``true``.
+If ``true``, Light2D will emit light. Default value: ``true``.
 
 .. _class_Light2D_energy:
 
@@ -280,7 +280,7 @@ Shadow buffer size. Default value: ``2048``.
 | *Getter* | is_shadow_enabled()       |
 +----------+---------------------------+
 
-If ``true`` the Light2D will cast shadows. Default value: ``false``.
+If ``true``, the Light2D will cast shadows. Default value: ``false``.
 
 .. _class_Light2D_shadow_filter:
 

+ 5 - 5
classes/class_lineedit.rst

@@ -179,7 +179,7 @@ Text alignment as defined in the ALIGN\_\* enum.
 | *Getter* | cursor_get_blink_enabled()      |
 +----------+---------------------------------+
 
-If ``true`` the caret (visual cursor) blinks.
+If ``true``, the caret (visual cursor) blinks.
 
 .. _class_LineEdit_caret_blink_speed:
 
@@ -215,7 +215,7 @@ The cursor's position inside the ``LineEdit``. When set, the text may scroll to
 | *Getter* | is_clear_button_enabled()       |
 +----------+---------------------------------+
 
-If ``true`` the ``LineEdit`` will show a clear button if ``text`` is not empty.
+If ``true``, the ``LineEdit`` will show a clear button if ``text`` is not empty.
 
 .. _class_LineEdit_context_menu_enabled:
 
@@ -227,7 +227,7 @@ If ``true`` the ``LineEdit`` will show a clear button if ``text`` is not empty.
 | *Getter* | is_context_menu_enabled()       |
 +----------+---------------------------------+
 
-If ``true`` the context menu will appear when right clicked.
+If ``true``, the context menu will appear when right clicked.
 
 .. _class_LineEdit_editable:
 
@@ -239,7 +239,7 @@ If ``true`` the context menu will appear when right clicked.
 | *Getter* | is_editable()       |
 +----------+---------------------+
 
-If ``false`` existing text cannot be modified and new text cannot be added.
+If ``false``, existing text cannot be modified and new text cannot be added.
 
 .. _class_LineEdit_expand_to_text_length:
 
@@ -251,7 +251,7 @@ If ``false`` existing text cannot be modified and new text cannot be added.
 | *Getter* | get_expand_to_text_length()      |
 +----------+----------------------------------+
 
-If ``true`` the :ref:`LineEdit<class_LineEdit>` width will increase to stay longer than the :ref:`text<class_LineEdit_text>`. It will **not** compress if the :ref:`text<class_LineEdit_text>` is shortened.
+If ``true``, the :ref:`LineEdit<class_LineEdit>` width will increase to stay longer than the :ref:`text<class_LineEdit_text>`. It will **not** compress if the :ref:`text<class_LineEdit_text>` is shortened.
 
 .. _class_LineEdit_focus_mode:
 

+ 2 - 0
classes/class_mainloop.rst

@@ -74,6 +74,8 @@ Constants
 
 - **NOTIFICATION_CRASH** = **92**
 
+- **NOTIFICATION_OS_IME_UPDATE** = **93**
+
 Description
 -----------
 

+ 22 - 0
classes/class_menubutton.rst

@@ -16,6 +16,13 @@ Brief Description
 
 Special button that brings up a :ref:`PopupMenu<class_PopupMenu>` when clicked.
 
+Properties
+----------
+
++-------------------------+----------------------------------------------------------+
+| :ref:`bool<class_bool>` | :ref:`switch_on_hover<class_MenuButton_switch_on_hover>` |
++-------------------------+----------------------------------------------------------+
+
 Methods
 -------
 
@@ -66,6 +73,21 @@ Description
 
 Special button that brings up a :ref:`PopupMenu<class_PopupMenu>` when clicked. That's pretty much all it does, as it's just a helper class when building GUIs.
 
+Property Descriptions
+---------------------
+
+.. _class_MenuButton_switch_on_hover:
+
+- :ref:`bool<class_bool>` **switch_on_hover**
+
++----------+----------------------------+
+| *Setter* | set_switch_on_hover(value) |
++----------+----------------------------+
+| *Getter* | is_switch_on_hover()       |
++----------+----------------------------+
+
+If ``true``, when the cursor hovers above another MenuButton within the same parent which also has ``switch_on_hover`` enabled, it will close the current MenuButton and open the other one.
+
 Method Descriptions
 -------------------
 

+ 3 - 3
classes/class_meshdatatool.rst

@@ -111,9 +111,9 @@ Below is an example of how the MeshDataTool may be used.
     var mdt = MeshDataTool.new()
     mdt.create_from_surface(mesh, 0)
     for i in range(mdt.get_vertex_count()):
-    var vertex = mdt.get_vertex(i)
-    ...
-    mdt.set_vertex(i, vertex)
+        var vertex = mdt.get_vertex(i)
+        ...
+        mdt.set_vertex(i, vertex)
     mesh.surface_remove(0)
     mdt.commit_to_surface(mesh)
 

+ 1 - 1
classes/class_multiplayerapi.rst

@@ -146,7 +146,7 @@ The peer object to handle the RPC system (effectively enabling networking when s
 | *Getter* | is_refusing_new_network_connections()     |
 +----------+-------------------------------------------+
 
-If ``true`` the MultiplayerAPI's :ref:`network_peer<class_MultiplayerAPI_network_peer>` refuses new incoming connections.
+If ``true``, the MultiplayerAPI's :ref:`network_peer<class_MultiplayerAPI_network_peer>` refuses new incoming connections.
 
 Method Descriptions
 -------------------

+ 1 - 1
classes/class_networkedmultiplayerpeer.rst

@@ -128,7 +128,7 @@ Property Descriptions
 | *Getter* | is_refusing_new_connections()     |
 +----------+-----------------------------------+
 
-If ``true`` this ``NetworkedMultiplayerPeer`` refuses new connections. Default value: ``false``.
+If ``true``, this ``NetworkedMultiplayerPeer`` refuses new connections. Default value: ``false``.
 
 .. _class_NetworkedMultiplayerPeer_transfer_mode:
 

+ 1 - 1
classes/class_node2d.rst

@@ -217,7 +217,7 @@ Local :ref:`Transform2D<class_Transform2D>`.
 | *Getter* | is_z_relative()          |
 +----------+--------------------------+
 
-If ``true`` the node's Z-index is relative to its parent's Z-index. If this node's Z-index is 2 and its parent's effective Z-index is 3, then this node's effective Z-index will be 2 + 3 = 5.
+If ``true``, the node's Z-index is relative to its parent's Z-index. If this node's Z-index is 2 and its parent's effective Z-index is 3, then this node's effective Z-index will be 2 + 3 = 5.
 
 .. _class_Node2D_z_index:
 

+ 3 - 1
classes/class_object.rst

@@ -141,7 +141,9 @@ Constants
 Description
 -----------
 
-Base class for all non built-in types. Everything not a built-in type starts the inheritance chain from this class.
+Base class for all non built-in types. Everything which is not a built-in type starts the inheritance chain from this class.
+
+Objects can be constructed from scripting languages, using ``Object.new()`` in GDScript, ``new Object`` in C#, or the "Construct Object" node in VisualScript.
 
 Objects do not manage memory, if inheriting from one the object will most likely have to be deleted manually (call the :ref:`free<class_Object_free>` function from the script or delete from C++).
 

+ 1 - 1
classes/class_occluderpolygon2d.rst

@@ -58,7 +58,7 @@ Property Descriptions
 | *Getter* | is_closed()       |
 +----------+-------------------+
 
-If ``true`` closes the polygon. A closed OccluderPolygon2D occludes the light coming from any direction. An opened OccluderPolygon2D occludes the light only at its outline's direction. Default value ``true``.
+If ``true``, closes the polygon. A closed OccluderPolygon2D occludes the light coming from any direction. An opened OccluderPolygon2D occludes the light only at its outline's direction. Default value ``true``.
 
 .. _class_OccluderPolygon2D_cull_mode:
 

+ 1 - 1
classes/class_orientedpathfollow.rst

@@ -53,7 +53,7 @@ Property Descriptions
 | *Getter* | get_cubic_interpolation()      |
 +----------+--------------------------------+
 
-If ``true`` the position between two cached points is interpolated cubically, and linearly otherwise.
+If ``true``, the position between two cached points is interpolated cubically, and linearly otherwise.
 
 The points along the :ref:`Curve3D<class_Curve3D>` of the :ref:`Path<class_Path>` are precomputed before use, for faster calculations. The point at the requested offset is then calculated interpolating between two adjacent cached points. This may present a problem if the curve makes sharp turns, as the cached points may not follow the curve closely enough.
 

+ 41 - 7
classes/class_os.rst

@@ -97,6 +97,10 @@ Methods
 +------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`String<class_String>`                    | :ref:`get_executable_path<class_OS_get_executable_path>` **(** **)** const                                                                                                                                               |
 +------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Vector2<class_Vector2>`                  | :ref:`get_ime_selection<class_OS_get_ime_selection>` **(** **)** const                                                                                                                                                   |
++------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_String>`                    | :ref:`get_ime_text<class_OS_get_ime_text>` **(** **)** const                                                                                                                                                             |
++------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`String<class_String>`                    | :ref:`get_latin_keyboard_variant<class_OS_get_latin_keyboard_variant>` **(** **)** const                                                                                                                                 |
 +------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`String<class_String>`                    | :ref:`get_locale<class_OS_get_locale>` **(** **)** const                                                                                                                                                                 |
@@ -135,6 +139,8 @@ Methods
 +------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`String<class_String>`                    | :ref:`get_system_dir<class_OS_get_system_dir>` **(** :ref:`SystemDir<enum_OS_SystemDir>` dir **)** const                                                                                                                 |
 +------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                          | :ref:`get_system_time_msecs<class_OS_get_system_time_msecs>` **(** **)** const                                                                                                                                           |
++------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`int<class_int>`                          | :ref:`get_system_time_secs<class_OS_get_system_time_secs>` **(** **)** const                                                                                                                                             |
 +------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`int<class_int>`                          | :ref:`get_ticks_msec<class_OS_get_ticks_msec>` **(** **)** const                                                                                                                                                         |
@@ -211,6 +217,8 @@ Methods
 +------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                           | :ref:`set_icon<class_OS_set_icon>` **(** :ref:`Image<class_Image>` icon **)**                                                                                                                                            |
 +------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                           | :ref:`set_ime_active<class_OS_set_ime_active>` **(** :ref:`bool<class_bool>` active **)**                                                                                                                                |
++------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                           | :ref:`set_ime_position<class_OS_set_ime_position>` **(** :ref:`Vector2<class_Vector2>` position **)**                                                                                                                    |
 +------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`Error<enum_@GlobalScope_Error>`          | :ref:`set_thread_name<class_OS_set_thread_name>` **(** :ref:`String<class_String>` name **)**                                                                                                                            |
@@ -381,7 +389,7 @@ The exit code passed to the OS when the main loop exits.
 | *Getter* | is_keep_screen_on()       |
 +----------+---------------------------+
 
-If ``true`` the engine tries to keep the screen on while the game is running. Useful on mobile.
+If ``true``, the engine tries to keep the screen on while the game is running. Useful on mobile.
 
 .. _class_OS_low_processor_usage_mode:
 
@@ -393,7 +401,7 @@ If ``true`` the engine tries to keep the screen on while the game is running. Us
 | *Getter* | is_in_low_processor_usage_mode()    |
 +----------+-------------------------------------+
 
-If ``true`` the engine optimizes for low processor usage by only refreshing the screen if needed. Can improve battery consumption on mobile.
+If ``true``, the engine optimizes for low processor usage by only refreshing the screen if needed. Can improve battery consumption on mobile.
 
 .. _class_OS_screen_orientation:
 
@@ -417,7 +425,7 @@ The current screen orientation.
 | *Getter* | is_vsync_enabled()   |
 +----------+----------------------+
 
-If ``true`` vertical synchronization (Vsync) is enabled.
+If ``true``, vertical synchronization (Vsync) is enabled.
 
 .. _class_OS_window_borderless:
 
@@ -429,7 +437,7 @@ If ``true`` vertical synchronization (Vsync) is enabled.
 | *Getter* | get_borderless_window()      |
 +----------+------------------------------+
 
-If ``true`` removes the window frame.
+If ``true``, removes the window frame.
 
 .. _class_OS_window_fullscreen:
 
@@ -441,7 +449,7 @@ If ``true`` removes the window frame.
 | *Getter* | is_window_fullscreen()       |
 +----------+------------------------------+
 
-If ``true`` the window is fullscreen.
+If ``true``, the window is fullscreen.
 
 .. _class_OS_window_maximized:
 
@@ -453,7 +461,7 @@ If ``true`` the window is fullscreen.
 | *Getter* | is_window_maximized()       |
 +----------+-----------------------------+
 
-If ``true`` the window is maximized.
+If ``true``, the window is maximized.
 
 .. _class_OS_window_minimized:
 
@@ -465,7 +473,7 @@ If ``true`` the window is maximized.
 | *Getter* | is_window_minimized()       |
 +----------+-----------------------------+
 
-If ``true`` the window is minimized.
+If ``true``, the window is minimized.
 
 .. _class_OS_window_per_pixel_transparency_enabled:
 
@@ -675,6 +683,18 @@ Returns an environment variable.
 
 Returns the path to the current engine executable.
 
+.. _class_OS_get_ime_selection:
+
+- :ref:`Vector2<class_Vector2>` **get_ime_selection** **(** **)** const
+
+Returns IME selection range.
+
+.. _class_OS_get_ime_text:
+
+- :ref:`String<class_String>` **get_ime_text** **(** **)** const
+
+Returns IME intermediate text.
+
 .. _class_OS_get_latin_keyboard_variant:
 
 - :ref:`String<class_String>` **get_latin_keyboard_variant** **(** **)** const
@@ -803,6 +823,12 @@ Returns the amount of static memory being used by the program in bytes.
 
 Returns the actual path to commonly used folders across different platforms. Available locations are specified in OS.SystemDir.
 
+.. _class_OS_get_system_time_msecs:
+
+- :ref:`int<class_int>` **get_system_time_msecs** **(** **)** const
+
+Returns the epoch time of the operating system in milliseconds.
+
 .. _class_OS_get_system_time_secs:
 
 - :ref:`int<class_int>` **get_system_time_secs** **(** **)** const
@@ -1045,10 +1071,18 @@ Request the user attention to the window. It'll flash the taskbar button on Wind
 
 Sets the game's icon.
 
+.. _class_OS_set_ime_active:
+
+- void **set_ime_active** **(** :ref:`bool<class_bool>` active **)**
+
+Sets whether IME input mode should be enabled.
+
 .. _class_OS_set_ime_position:
 
 - void **set_ime_position** **(** :ref:`Vector2<class_Vector2>` position **)**
 
+Sets position of IME suggestion list popup (in window coordinates).
+
 .. _class_OS_set_thread_name:
 
 - :ref:`Error<enum_@GlobalScope_Error>` **set_thread_name** **(** :ref:`String<class_String>` name **)**

+ 1 - 1
classes/class_parallaxbackground.rst

@@ -75,7 +75,7 @@ Base motion scale of all :ref:`ParallaxLayer<class_ParallaxLayer>` children.
 | *Getter* | is_ignore_camera_zoom()       |
 +----------+-------------------------------+
 
-If ``true`` elements in :ref:`ParallaxLayer<class_ParallaxLayer>` child aren't affected by the zoom level of the camera.
+If ``true``, elements in :ref:`ParallaxLayer<class_ParallaxLayer>` child aren't affected by the zoom level of the camera.
 
 .. _class_ParallaxBackground_scroll_limit_begin:
 

+ 3 - 3
classes/class_particles.rst

@@ -190,7 +190,7 @@ The number of draw passes when rendering particles.
 | *Getter* | is_emitting()       |
 +----------+---------------------+
 
-If ``true`` particles are being emitted. Default value: ``true``.
+If ``true``, particles are being emitted. Default value: ``true``.
 
 .. _class_Particles_explosiveness:
 
@@ -246,7 +246,7 @@ Amount of time each particle will exist. Default value: ``1``.
 | *Getter* | get_use_local_coordinates()      |
 +----------+----------------------------------+
 
-If ``true`` particles use the parent node's coordinate space. If ``false`` they use global coordinates. Default value: ``true``.
+If ``true``, particles use the parent node's coordinate space. If ``false``, they use global coordinates. Default value: ``true``.
 
 .. _class_Particles_one_shot:
 
@@ -258,7 +258,7 @@ If ``true`` particles use the parent node's coordinate space. If ``false`` they
 | *Getter* | get_one_shot()      |
 +----------+---------------------+
 
-If ``true`` only ``amount`` particles will be emitted. Default value: ``false``.
+If ``true``, only ``amount`` particles will be emitted. Default value: ``false``.
 
 .. _class_Particles_preprocess:
 

+ 3 - 3
classes/class_particles2d.rst

@@ -117,7 +117,7 @@ Particle draw order. Uses ``DRAW_ORDER_*`` values. Default value: ``DRAW_ORDER_I
 | *Getter* | is_emitting()       |
 +----------+---------------------+
 
-If ``true`` particles are being emitted. Default value: ``true``.
+If ``true``, particles are being emitted. Default value: ``true``.
 
 .. _class_Particles2D_explosiveness:
 
@@ -173,7 +173,7 @@ Amount of time each particle will exist. Default value: ``1``.
 | *Getter* | get_use_local_coordinates()      |
 +----------+----------------------------------+
 
-If ``true`` particles use the parent node's coordinate space. If ``false`` they use global coordinates. Default value: ``true``.
+If ``true``, particles use the parent node's coordinate space. If ``false``, they use global coordinates. Default value: ``true``.
 
 .. _class_Particles2D_normal_map:
 
@@ -195,7 +195,7 @@ If ``true`` particles use the parent node's coordinate space. If ``false`` they
 | *Getter* | get_one_shot()      |
 +----------+---------------------+
 
-If ``true`` only one emission cycle occurs. If set ``true`` during a cycle, emission will stop at the cycle's end. Default value: ``false``.
+If ``true``, only one emission cycle occurs. If set ``true`` during a cycle, emission will stop at the cycle's end. Default value: ``false``.
 
 .. _class_Particles2D_preprocess:
 

+ 1 - 1
classes/class_particlesmaterial.rst

@@ -496,7 +496,7 @@ The sphere's radius if ``emission_shape`` is set to ``EMISSION_SHAPE_SPHERE``.
 | *Getter* | get_flag()      |
 +----------+-----------------+
 
-If ``true`` particles will not move on the z axis. Default value: ``true`` for :ref:`Particles2D<class_Particles2D>`, ``false`` for :ref:`Particles<class_Particles>`.
+If ``true``, particles will not move on the z axis. Default value: ``true`` for :ref:`Particles2D<class_Particles2D>`, ``false`` for :ref:`Particles<class_Particles>`.
 
 .. _class_ParticlesMaterial_flag_rotate_y:
 

+ 1 - 1
classes/class_pathfollow.rst

@@ -70,7 +70,7 @@ Property Descriptions
 | *Getter* | get_cubic_interpolation()      |
 +----------+--------------------------------+
 
-If ``true`` the position between two cached points is interpolated cubically, and linearly otherwise.
+If ``true``, the position between two cached points is interpolated cubically, and linearly otherwise.
 
 The points along the :ref:`Curve3D<class_Curve3D>` of the :ref:`Path<class_Path>` are precomputed before use, for faster calculations. The point at the requested offset is then calculated interpolating between two adjacent cached points. This may present a problem if the curve makes sharp turns, as the cached points may not follow the curve closely enough.
 

+ 1 - 1
classes/class_pathfollow2d.rst

@@ -57,7 +57,7 @@ Property Descriptions
 | *Getter* | get_cubic_interpolation()      |
 +----------+--------------------------------+
 
-If ``true`` the position between two cached points is interpolated cubically, and linearly otherwise.
+If ``true``, the position between two cached points is interpolated cubically, and linearly otherwise.
 
 The points along the :ref:`Curve2D<class_Curve2D>` of the :ref:`Path2D<class_Path2D>` are precomputed before use, for faster calculations. The point at the requested offset is then calculated interpolating between two adjacent cached points. This may present a problem if the curve makes sharp turns, as the cached points may not follow the curve closely enough.
 

+ 1 - 1
classes/class_physicsdirectbodystate.rst

@@ -246,7 +246,7 @@ Adds a constant rotational force (i.e. a motor) without affecting position.
 
 Applies a single directional impulse without affecting rotation.
 
-This is equivalent to ``apply_impulse(Vector3(0,0,0), impulse)``.
+This is equivalent to ``apply_impulse(Vector3(0, 0, 0), impulse)``.
 
 .. _class_PhysicsDirectBodyState_apply_impulse:
 

+ 6 - 6
classes/class_physicsserver.rst

@@ -336,9 +336,9 @@ enum **ShapeType**:
 
 enum **HingeJointFlag**:
 
-- **HINGE_JOINT_FLAG_USE_LIMIT** = **0** --- If ``true`` the Hinge has a maximum and a minimum rotation.
+- **HINGE_JOINT_FLAG_USE_LIMIT** = **0** --- If ``true``, the Hinge has a maximum and a minimum rotation.
 
-- **HINGE_JOINT_FLAG_ENABLE_MOTOR** = **1** --- If ``true`` a motor turns the Hinge
+- **HINGE_JOINT_FLAG_ENABLE_MOTOR** = **1** --- If ``true``, a motor turns the Hinge
 
 .. _enum_PhysicsServer_AreaParameter:
 
@@ -666,7 +666,7 @@ Returns the transform matrix for an area.
 
 - :ref:`bool<class_bool>` **area_is_ray_pickable** **(** :ref:`RID<class_RID>` area **)** const
 
-If ``true`` area collides with rays.
+If ``true``, area collides with rays.
 
 .. _class_PhysicsServer_area_remove_shape:
 
@@ -896,7 +896,7 @@ Returns a body state.
 
 - :ref:`bool<class_bool>` **body_is_continuous_collision_detection_enabled** **(** :ref:`RID<class_RID>` body **)** const
 
-If ``true`` the continuous collision detection mode is enabled.
+If ``true``, the continuous collision detection mode is enabled.
 
 .. _class_PhysicsServer_body_is_omitting_force_integration:
 
@@ -908,7 +908,7 @@ Returns whether a body uses a callback function to calculate its own physics (se
 
 - :ref:`bool<class_bool>` **body_is_ray_pickable** **(** :ref:`RID<class_RID>` body **)** const
 
-If ``true`` the body can be detected by rays
+If ``true``, the body can be detected by rays
 
 .. _class_PhysicsServer_body_remove_collision_exception:
 
@@ -950,7 +950,7 @@ Sets the physics layer or layers a body can collide with.
 
 - void **body_set_enable_continuous_collision_detection** **(** :ref:`RID<class_RID>` body, :ref:`bool<class_bool>` enable **)**
 
-If ``true`` the continuous collision detection mode is enabled.
+If ``true``, the continuous collision detection mode is enabled.
 
 Continuous collision detection tries to predict where a moving body will collide, instead of moving it and correcting its movement if it collided.
 

+ 16 - 0
classes/class_pluginscript.rst

@@ -16,3 +16,19 @@ Brief Description
 
 
 
+Methods
+-------
+
++------------------------------+-------------------------------------------------------+
+| :ref:`Object<class_Object>`  | :ref:`new<class_PluginScript_new>` **(** **)** vararg |
++------------------------------+-------------------------------------------------------+
+
+Method Descriptions
+-------------------
+
+.. _class_PluginScript_new:
+
+- :ref:`Object<class_Object>` **new** **(** **)** vararg
+
+Returns a new instance of the script.
+

+ 2 - 2
classes/class_polygon2d.rst

@@ -92,7 +92,7 @@ Property Descriptions
 | *Getter* | get_antialiased()      |
 +----------+------------------------+
 
-If ``true`` polygon edges will be anti-aliased. Default value: ``false``.
+If ``true``, polygon edges will be anti-aliased. Default value: ``false``.
 
 .. _class_Polygon2D_bones:
 
@@ -132,7 +132,7 @@ Added padding applied to the bounding box when using ``invert``. Setting this va
 | *Getter* | get_invert()      |
 +----------+-------------------+
 
-If ``true`` polygon will be inverted, containing the area outside the defined points and extending to the ``invert_border``. Default value: ``false``.
+If ``true``, polygon will be inverted, containing the area outside the defined points and extending to the ``invert_border``. Default value: ``false``.
 
 .. _class_Polygon2D_offset:
 

+ 4 - 4
classes/class_popup.rst

@@ -78,7 +78,7 @@ Property Descriptions
 | *Getter* | is_exclusive()       |
 +----------+----------------------+
 
-If ``true`` the popup will not be hidden when a click event occurs outside of it, or when it receives the ``ui_cancel`` action event.
+If ``true``, the popup will not be hidden when a click event occurs outside of it, or when it receives the ``ui_cancel`` action event.
 
 Method Descriptions
 -------------------
@@ -93,17 +93,17 @@ Popup (show the control in modal form).
 
 - void **popup_centered** **(** :ref:`Vector2<class_Vector2>` size=Vector2( 0, 0 ) **)**
 
-Popup (show the control in modal form) in the center of the screen, at the current size, or at a size determined by "size".
+Popup (show the control in modal form) in the center of the screen relative to its current canvas transform, at the current size, or at a size determined by "size".
 
 .. _class_Popup_popup_centered_minsize:
 
 - void **popup_centered_minsize** **(** :ref:`Vector2<class_Vector2>` minsize=Vector2( 0, 0 ) **)**
 
-Popup (show the control in modal form) in the center of the screen, ensuring the size is never smaller than ``minsize``.
+Popup (show the control in modal form) in the center of the screen relative to the current canvas transform, ensuring the size is never smaller than ``minsize``.
 
 .. _class_Popup_popup_centered_ratio:
 
 - void **popup_centered_ratio** **(** :ref:`float<class_float>` ratio=0.75 **)**
 
-Popup (show the control in modal form) in the center of the screen, scaled at a ratio of size of the screen.
+Popup (show the control in modal form) in the center of the screen relative to the current canvas transform, scaled at a ratio of size of the screen.
 

+ 1 - 1
classes/class_progressbar.rst

@@ -56,5 +56,5 @@ Property Descriptions
 | *Getter* | is_percent_visible()       |
 +----------+----------------------------+
 
-If ``true`` the fill percentage is displayed on the bar. Default value: ``true``.
+If ``true``, the fill percentage is displayed on the bar. Default value: ``true``.
 

+ 22 - 6
classes/class_projectsettings.rst

@@ -32,6 +32,8 @@ Properties
 +-------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`String<class_String>`         | :ref:`application/config/name<class_ProjectSettings_application/config/name>`                                                                               |
 +-------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_String>`         | :ref:`application/config/project_settings_override<class_ProjectSettings_application/config/project_settings_override>`                                     |
++-------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`bool<class_bool>`             | :ref:`application/config/use_custom_user_dir<class_ProjectSettings_application/config/use_custom_user_dir>`                                                 |
 +-------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`bool<class_bool>`             | :ref:`application/run/disable_stderr<class_ProjectSettings_application/run/disable_stderr>`                                                                 |
@@ -52,6 +54,8 @@ Properties
 +-------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`String<class_String>`         | :ref:`audio/driver<class_ProjectSettings_audio/driver>`                                                                                                     |
 +-------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`             | :ref:`audio/enable_audio_input<class_ProjectSettings_audio/enable_audio_input>`                                                                             |
++-------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`int<class_int>`               | :ref:`audio/mix_rate<class_ProjectSettings_audio/mix_rate>`                                                                                                 |
 +-------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`int<class_int>`               | :ref:`audio/output_latency<class_ProjectSettings_audio/output_latency>`                                                                                     |
@@ -596,9 +600,9 @@ Path to an image used for boot splash.
 
 - :ref:`String<class_String>` **application/config/custom_user_dir_name**
 
-This directory is used for storing persistent data (user:// filesystem). If a custom name is set, then system paths will be used to store this on Desktop (AppData on Windows, user ~/.config on Unixes, etc), else the Godot config folder is used. This name needs to be unique, and it's recommended to set it to something before publishing.
+This user directory is used for storing persistent data (``user://`` filesystem). By default (no custom name defined), ``user://`` resolves to a project-specific folder in Godot's own configuration folder (see :ref:`OS.get_user_data_dir<class_OS_get_user_data_dir>`). If a custom directory name is defined, this name will be used instead and appended to the system-specific user data directory (same parent folder as the Godot configuration folder documented in :ref:`OS.get_user_data_dir<class_OS_get_user_data_dir>`).
 
-the "use_custom_user_dir" setting must be enabled for this to take effect.
+The :ref:`use_custom_user_dir<class_ProjectSettings_use_custom_user_dir>` setting must be enabled for this to take effect.
 
 .. _class_ProjectSettings_application/config/icon:
 
@@ -612,11 +616,17 @@ Icon used for the project, set when project loads. Exporters will use this icon
 
 Name of the project. It is used from both project manager and by the exporters. Overriding this as name.locale allows setting it in multiple languages.
 
+.. _class_ProjectSettings_application/config/project_settings_override:
+
+- :ref:`String<class_String>` **application/config/project_settings_override**
+
+Specifies a file to override project settings. For example: ``user://custom_settings.cfg``.
+
 .. _class_ProjectSettings_application/config/use_custom_user_dir:
 
 - :ref:`bool<class_bool>` **application/config/use_custom_user_dir**
 
-Allow the project to save to its own custom user dir (in AppData on windows or ~/.config on unixes). This setting only works for desktop exporters. A name must be set in the "custom_user_dir_name" setting for this to take effect.
+Allow the project to save to its own custom user dir (see :ref:`custom_user_dir_name<class_ProjectSettings_custom_user_dir_name>`). This setting only works for desktop platforms. A name must be set in the :ref:`custom_user_dir_name<class_ProjectSettings_custom_user_dir_name>` setting for this to take effect.
 
 .. _class_ProjectSettings_application/run/disable_stderr:
 
@@ -670,6 +680,12 @@ Audio buses will disable automatically when sound goes below a given DB threshol
 
 - :ref:`String<class_String>` **audio/driver**
 
+.. _class_ProjectSettings_audio/enable_audio_input:
+
+- :ref:`bool<class_bool>` **audio/enable_audio_input**
+
+This option should be enabled if project works with microphone.
+
 .. _class_ProjectSettings_audio/mix_rate:
 
 - :ref:`int<class_int>` **audio/mix_rate**
@@ -1406,13 +1422,13 @@ Log all output to a file.
 
 - :ref:`String<class_String>` **logging/file_logging/log_path**
 
-Path to logs withint he project. Using an user:// based path is recommended.
+Path to logs withint he project. Using an ``user://`` based path is recommended.
 
 .. _class_ProjectSettings_logging/file_logging/max_log_files:
 
 - :ref:`int<class_int>` **logging/file_logging/max_log_files**
 
-Amount of log files (used for rotation)/
+Amount of log files (used for rotation).
 
 .. _class_ProjectSettings_memory/limits/message_queue/max_size_kb:
 
@@ -1801,7 +1817,7 @@ Method Descriptions
 
 - void **add_property_info** **(** :ref:`Dictionary<class_Dictionary>` hint **)**
 
-Add a custom property info to a property. The dictionary must contain: name::ref:`String<class_String>`(the name of the property) and type::ref:`int<class_int>`(see TYPE\_\* in :ref:`@GlobalScope<class_@GlobalScope>`), and optionally hint::ref:`int<class_int>`(see PROPERTY_HINT\_\* in :ref:`@GlobalScope<class_@GlobalScope>`), hint_string::ref:`String<class_String>`.
+Add a custom property info to a property. The dictionary must contain: name::ref:`String<class_String>`\ (the name of the property) and type::ref:`int<class_int>`\ (see TYPE\_\* in :ref:`@GlobalScope<class_@GlobalScope>`), and optionally hint::ref:`int<class_int>`\ (see PROPERTY_HINT\_\* in :ref:`@GlobalScope<class_@GlobalScope>`), hint_string::ref:`String<class_String>`.
 
 Example:
 

+ 24 - 16
classes/class_randomnumbergenerator.rst

@@ -26,15 +26,17 @@ Properties
 Methods
 -------
 
-+----------------------------+------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`  | :ref:`rand_range<class_RandomNumberGenerator_rand_range>` **(** :ref:`float<class_float>` from, :ref:`float<class_float>` to **)** |
-+----------------------------+------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`  | :ref:`randf<class_RandomNumberGenerator_randf>` **(** **)**                                                                        |
-+----------------------------+------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`      | :ref:`randi<class_RandomNumberGenerator_randi>` **(** **)**                                                                        |
-+----------------------------+------------------------------------------------------------------------------------------------------------------------------------+
-| void                       | :ref:`randomize<class_RandomNumberGenerator_randomize>` **(** **)**                                                                |
-+----------------------------+------------------------------------------------------------------------------------------------------------------------------------+
++----------------------------+--------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`  | :ref:`randf<class_RandomNumberGenerator_randf>` **(** **)**                                                                          |
++----------------------------+--------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`  | :ref:`randf_range<class_RandomNumberGenerator_randf_range>` **(** :ref:`float<class_float>` from, :ref:`float<class_float>` to **)** |
++----------------------------+--------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`      | :ref:`randi<class_RandomNumberGenerator_randi>` **(** **)**                                                                          |
++----------------------------+--------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`      | :ref:`randi_range<class_RandomNumberGenerator_randi_range>` **(** :ref:`int<class_int>` from, :ref:`int<class_int>` to **)**         |
++----------------------------+--------------------------------------------------------------------------------------------------------------------------------------+
+| void                       | :ref:`randomize<class_RandomNumberGenerator_randomize>` **(** **)**                                                                  |
++----------------------------+--------------------------------------------------------------------------------------------------------------------------------------+
 
 Property Descriptions
 ---------------------
@@ -52,23 +54,29 @@ Property Descriptions
 Method Descriptions
 -------------------
 
-.. _class_RandomNumberGenerator_rand_range:
-
-- :ref:`float<class_float>` **rand_range** **(** :ref:`float<class_float>` from, :ref:`float<class_float>` to **)**
-
-Generates pseudo-random float between ``from`` and ``to``.
-
 .. _class_RandomNumberGenerator_randf:
 
 - :ref:`float<class_float>` **randf** **(** **)**
 
 Generates pseudo-random float between '0.0' and '1.0'.
 
+.. _class_RandomNumberGenerator_randf_range:
+
+- :ref:`float<class_float>` **randf_range** **(** :ref:`float<class_float>` from, :ref:`float<class_float>` to **)**
+
+Generates pseudo-random float between ``from`` and ``to``.
+
 .. _class_RandomNumberGenerator_randi:
 
 - :ref:`int<class_int>` **randi** **(** **)**
 
-Generates pseudo-random 32-bit integer between '0' and '4294967295'.
+Generates pseudo-random 32-bit unsigned integer between '0' and '4294967295'.
+
+.. _class_RandomNumberGenerator_randi_range:
+
+- :ref:`int<class_int>` **randi_range** **(** :ref:`int<class_int>` from, :ref:`int<class_int>` to **)**
+
+Generates pseudo-random 32-bit signed integer between ``from`` and ``to``\ (inclusive).
 
 .. _class_RandomNumberGenerator_randomize:
 

+ 4 - 4
classes/class_range.rst

@@ -85,7 +85,7 @@ Property Descriptions
 | *Getter* | is_greater_allowed()     |
 +----------+--------------------------+
 
-If ``true`` :ref:`value<class_Range_value>` may be greater than :ref:`max_value<class_Range_max_value>`. Default value: ``false``.
+If ``true``, :ref:`value<class_Range_value>` may be greater than :ref:`max_value<class_Range_max_value>`. Default value: ``false``.
 
 .. _class_Range_allow_lesser:
 
@@ -97,7 +97,7 @@ If ``true`` :ref:`value<class_Range_value>` may be greater than :ref:`max_value<
 | *Getter* | is_lesser_allowed()     |
 +----------+-------------------------+
 
-If ``true`` :ref:`value<class_Range_value>` may be less than :ref:`min_value<class_Range_min_value>`. Default value: ``false``.
+If ``true``, :ref:`value<class_Range_value>` may be less than :ref:`min_value<class_Range_min_value>`. Default value: ``false``.
 
 .. _class_Range_exp_edit:
 
@@ -109,7 +109,7 @@ If ``true`` :ref:`value<class_Range_value>` may be less than :ref:`min_value<cla
 | *Getter* | is_ratio_exp()       |
 +----------+----------------------+
 
-If ``true`` and ``min_value`` is greater than 0, ``value`` will be represented exponentially rather than linearly.
+If ``true``, and ``min_value`` is greater than 0, ``value`` will be represented exponentially rather than linearly.
 
 .. _class_Range_max_value:
 
@@ -169,7 +169,7 @@ The value mapped between 0 and 1.
 | *Getter* | is_using_rounded_values()     |
 +----------+-------------------------------+
 
-If ``true`` ``value`` will always be rounded to the nearest integer. Default value: ``false``.
+If ``true``, ``value`` will always be rounded to the nearest integer. Default value: ``false``.
 
 .. _class_Range_step:
 

+ 2 - 2
classes/class_raycast.rst

@@ -138,7 +138,7 @@ The ray's collision mask. Only objects in at least one collision layer enabled i
 | *Getter* | is_enabled()       |
 +----------+--------------------+
 
-If ``true`` collisions will be reported. Default value: ``false``.
+If ``true``, collisions will be reported. Default value: ``false``.
 
 .. _class_RayCast_exclude_parent:
 
@@ -150,7 +150,7 @@ If ``true`` collisions will be reported. Default value: ``false``.
 | *Getter* | get_exclude_parent_body()      |
 +----------+--------------------------------+
 
-If ``true`` collisions will be ignored for this RayCast's immediate parent. Default value: ``true``.
+If ``true``, collisions will be ignored for this RayCast's immediate parent. Default value: ``true``.
 
 Method Descriptions
 -------------------

+ 1 - 1
classes/class_rayshape.rst

@@ -55,5 +55,5 @@ The ray's length.
 | *Getter* | get_slips_on_slope()      |
 +----------+---------------------------+
 
-If ``true`` allow the shape to return the correct normal. Default value: ``false``.
+If ``true``, allow the shape to return the correct normal. Default value: ``false``.
 

Неке датотеке нису приказане због велике количине промена