浏览代码

classref: Sync with current master branch

Rémi Verschelde 7 年之前
父节点
当前提交
e2662b0d0f
共有 100 个文件被更改,包括 1142 次插入672 次删除
  1. 50 0
      classes/[email protected]
  2. 150 150
      classes/class_@global scope.rst
  3. 1 1
      classes/class_area.rst
  4. 1 1
      classes/class_area2d.rst
  5. 1 1
      classes/class_arraymesh.rst
  6. 1 1
      classes/class_arvranchor.rst
  7. 3 1
      classes/class_arvrcontroller.rst
  8. 3 1
      classes/class_arvrorigin.rst
  9. 5 3
      classes/class_arvrpositionaltracker.rst
  10. 2 2
      classes/class_arvrserver.rst
  11. 41 1
      classes/class_astar.rst
  12. 5 0
      classes/class_audioeffectbandlimitfilter.rst
  13. 5 0
      classes/class_audioeffectbandpassfilter.rst
  14. 11 6
      classes/class_audioeffectfilter.rst
  15. 5 0
      classes/class_audioeffecthighpassfilter.rst
  16. 5 0
      classes/class_audioeffectlowpassfilter.rst
  17. 5 0
      classes/class_audioeffectnotchfilter.rst
  18. 9 9
      classes/class_basebutton.rst
  19. 2 2
      classes/class_bitmapfont.rst
  20. 11 11
      classes/class_camera2d.rst
  21. 1 1
      classes/class_canvasitem.rst
  22. 1 1
      classes/class_canvaslayer.rst
  23. 4 4
      classes/class_capsuleshape2d.rst
  24. 1 1
      classes/class_concavepolygonshape2d.rst
  25. 2 2
      classes/class_conetwistjoint.rst
  26. 1 1
      classes/class_container.rst
  27. 2 2
      classes/class_control.rst
  28. 1 1
      classes/class_convexpolygonshape2d.rst
  29. 26 1
      classes/class_cubemap.rst
  30. 4 2
      classes/class_curve2d.rst
  31. 4 4
      classes/class_dampedspringjoint2d.rst
  32. 2 2
      classes/class_dictionary.rst
  33. 2 2
      classes/class_editorimportplugin.rst
  34. 1 0
      classes/class_editorplugin.rst
  35. 2 2
      classes/class_editorscript.rst
  36. 1 1
      classes/class_engine.rst
  37. 48 9
      classes/class_environment.rst
  38. 1 1
      classes/class_funcref.rst
  39. 54 0
      classes/class_geometry.rst
  40. 1 0
      classes/class_giprobe.rst
  41. 2 2
      classes/class_groovejoint2d.rst
  42. 3 19
      classes/class_httpclient.rst
  43. 88 16
      classes/class_image.rst
  44. 9 9
      classes/class_imagetexture.rst
  45. 1 1
      classes/class_inputeventjoypadmotion.rst
  46. 1 1
      classes/class_inputmap.rst
  47. 4 4
      classes/class_joint2d.rst
  48. 1 1
      classes/class_jsonparseresult.rst
  49. 1 1
      classes/class_kinematicbody.rst
  50. 1 1
      classes/class_kinematicbody2d.rst
  51. 1 0
      classes/class_light.rst
  52. 45 44
      classes/class_lineedit.rst
  53. 1 1
      classes/class_linkbutton.rst
  54. 2 1
      classes/class_mainloop.rst
  55. 3 3
      classes/class_mutex.rst
  56. 2 2
      classes/class_networkedmultiplayerpeer.rst
  57. 11 11
      classes/class_node.rst
  58. 25 21
      classes/class_node2d.rst
  59. 2 2
      classes/class_nodepath.rst
  60. 12 7
      classes/class_occluderpolygon2d.rst
  61. 1 1
      classes/class_optionbutton.rst
  62. 1 1
      classes/class_os.rst
  63. 3 3
      classes/class_packetpeerudp.rst
  64. 7 7
      classes/class_parallaxbackground.rst
  65. 6 4
      classes/class_parallaxlayer.rst
  66. 3 3
      classes/class_path2d.rst
  67. 1 1
      classes/class_performance.rst
  68. 1 1
      classes/class_physics2ddirectspacestate.rst
  69. 1 0
      classes/class_physics2dserver.rst
  70. 1 1
      classes/class_physicsdirectspacestate.rst
  71. 1 1
      classes/class_physicsserver.rst
  72. 4 4
      classes/class_poolbytearray.rst
  73. 1 1
      classes/class_poolcolorarray.rst
  74. 1 1
      classes/class_poolintarray.rst
  75. 2 2
      classes/class_poolvector2array.rst
  76. 1 1
      classes/class_poolvector3array.rst
  77. 20 6
      classes/class_quat.rst
  78. 59 47
      classes/class_raycast.rst
  79. 63 51
      classes/class_raycast2d.rst
  80. 16 12
      classes/class_rect2.rst
  81. 22 22
      classes/class_rect3.rst
  82. 13 6
      classes/class_remotetransform.rst
  83. 13 6
      classes/class_remotetransform2d.rst
  84. 2 2
      classes/class_resource.rst
  85. 1 1
      classes/class_resourceloader.rst
  86. 31 8
      classes/class_richtextlabel.rst
  87. 2 2
      classes/class_rigidbody.rst
  88. 2 2
      classes/class_rigidbody2d.rst
  89. 0 6
      classes/class_script.rst
  90. 2 2
      classes/class_semaphore.rst
  91. 1 1
      classes/class_spatial.rst
  92. 3 3
      classes/class_streampeer.rst
  93. 3 3
      classes/class_streampeerssl.rst
  94. 4 4
      classes/class_streampeertcp.rst
  95. 109 59
      classes/class_string.rst
  96. 2 2
      classes/class_surfacetool.rst
  97. 31 19
      classes/class_tabcontainer.rst
  98. 1 1
      classes/class_tabs.rst
  99. 16 0
      classes/class_textedit.rst
  100. 1 1
      classes/class_texture.rst

+ 50 - 0
classes/[email protected]

@@ -168,6 +168,10 @@ Member Functions
 +------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`Object<class_object>`                    | :ref:`weakref<class_@GDScript_weakref>` **(** :ref:`Object<class_object>` obj **)**                                                                                                                                             |
 | :ref:`Object<class_object>`                    | :ref:`weakref<class_@GDScript_weakref>` **(** :ref:`Object<class_object>` obj **)**                                                                                                                                             |
 +------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`                      | :ref:`wrapf<class_@GDScript_wrapf>` **(** :ref:`float<class_float>` value, :ref:`float<class_float>` min, :ref:`float<class_float>` max **)**                                                                                   |
++------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                          | :ref:`wrapi<class_@GDScript_wrapi>` **(** :ref:`int<class_int>` value, :ref:`int<class_int>` min, :ref:`int<class_int>` max **)**                                                                                               |
++------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`GDFunctionState<class_gdfunctionstate>`  | :ref:`yield<class_@GDScript_yield>` **(** :ref:`Object<class_object>` object, :ref:`String<class_string>` signal **)**                                                                                                          |
 | :ref:`GDFunctionState<class_gdfunctionstate>`  | :ref:`yield<class_@GDScript_yield>` **(** :ref:`Object<class_object>` object, :ref:`String<class_string>` signal **)**                                                                                                          |
 +------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 
 
@@ -1050,6 +1054,52 @@ Returns a weak reference to an object.
 
 
 A weak reference to an object is not enough to keep the object alive: when the only remaining references to a referent are weak references, garbage collection is free to destroy the referent and reuse its memory for something else. However, until the object is actually destroyed the weak reference may return the object even if there are no strong references to it.
 A weak reference to an object is not enough to keep the object alive: when the only remaining references to a referent are weak references, garbage collection is free to destroy the referent and reuse its memory for something else. However, until the object is actually destroyed the weak reference may return the object even if there are no strong references to it.
 
 
+.. _class_@GDScript_wrapf:
+
+- :ref:`float<class_float>` **wrapf** **(** :ref:`float<class_float>` value, :ref:`float<class_float>` min, :ref:`float<class_float>` max **)**
+
+Wraps float ``value`` between ``min`` and ``max``.
+
+Usable for creating loop-alike behavior or infinite surfaces.
+
+::
+
+    # a is 0.5
+    a = wrapf(10.5, 0.0, 10.0)
+
+::
+
+    # a is 9.5
+    a = wrapf(-0.5, 0.0, 10.0)
+
+::
+
+    # infinite loop between 0.0 and 0.99
+    f = wrapf(f + 0.1, 0.0, 1.0)
+
+.. _class_@GDScript_wrapi:
+
+- :ref:`int<class_int>` **wrapi** **(** :ref:`int<class_int>` value, :ref:`int<class_int>` min, :ref:`int<class_int>` max **)**
+
+Wraps integer ``value`` between ``min`` and ``max``.
+
+Usable for creating loop-alike behavior or infinite surfaces.
+
+::
+
+    # a is 0
+    a = wrapi(10, 0, 10)
+
+::
+
+    # a is 9
+    a = wrapi(-1, 0, 10)
+
+::
+
+    # infinite loop between 0 and 9
+    frame = wrapi(frame + 1, 0, 10)
+
 .. _class_@GDScript_yield:
 .. _class_@GDScript_yield:
 
 
 - :ref:`GDFunctionState<class_gdfunctionstate>` **yield** **(** :ref:`Object<class_object>` object, :ref:`String<class_string>` signal **)**
 - :ref:`GDFunctionState<class_gdfunctionstate>` **yield** **(** :ref:`Object<class_object>` object, :ref:`String<class_string>` signal **)**

+ 150 - 150
classes/class_@global scope.rst

@@ -39,7 +39,7 @@ Member Variables
 
 
   .. _class_@Global Scope_GodotSharp:
   .. _class_@Global Scope_GodotSharp:
 
 
-- :ref:`GodotSharp<class_godotsharp>` **GodotSharp**
+- :ref:`GodotSharp<class_godotsharp>` **GodotSharp** - :ref:`GodotSharp<class_godotsharp>` singleton
 
 
   .. _class_@Global Scope_IP:
   .. _class_@Global Scope_IP:
 
 
@@ -55,7 +55,7 @@ Member Variables
 
 
   .. _class_@Global Scope_JSON:
   .. _class_@Global Scope_JSON:
 
 
-- :ref:`JSON<class_json>` **JSON**
+- :ref:`JSON<class_json>` **JSON** - :ref:`JSON<class_json>` singleton
 
 
   .. _class_@Global Scope_Marshalls:
   .. _class_@Global Scope_Marshalls:
 
 
@@ -124,8 +124,8 @@ Numeric Constants
 - **KEY_DELETE** = **16777224** --- Delete Key
 - **KEY_DELETE** = **16777224** --- Delete Key
 - **KEY_PAUSE** = **16777225** --- Pause Key
 - **KEY_PAUSE** = **16777225** --- Pause Key
 - **KEY_PRINT** = **16777226** --- Printscreen Key
 - **KEY_PRINT** = **16777226** --- Printscreen Key
-- **KEY_SYSREQ** = **16777227**
-- **KEY_CLEAR** = **16777228**
+- **KEY_SYSREQ** = **16777227** --- System Request Key
+- **KEY_CLEAR** = **16777228** --- Clear Key
 - **KEY_HOME** = **16777229** --- Home Key
 - **KEY_HOME** = **16777229** --- Home Key
 - **KEY_END** = **16777230** --- End Key
 - **KEY_END** = **16777230** --- End Key
 - **KEY_LEFT** = **16777231** --- Left Arrow Key
 - **KEY_LEFT** = **16777231** --- Left Arrow Key
@@ -136,7 +136,7 @@ Numeric Constants
 - **KEY_PAGEDOWN** = **16777236** --- Pagedown Key
 - **KEY_PAGEDOWN** = **16777236** --- Pagedown Key
 - **KEY_SHIFT** = **16777237** --- Shift Key
 - **KEY_SHIFT** = **16777237** --- Shift Key
 - **KEY_CONTROL** = **16777238** --- Control Key
 - **KEY_CONTROL** = **16777238** --- Control Key
-- **KEY_META** = **16777239**
+- **KEY_META** = **16777239** --- Meta Key
 - **KEY_ALT** = **16777240** --- Alt Key
 - **KEY_ALT** = **16777240** --- Alt Key
 - **KEY_CAPSLOCK** = **16777241** --- Capslock Key
 - **KEY_CAPSLOCK** = **16777241** --- Capslock Key
 - **KEY_NUMLOCK** = **16777242** --- Numlock Key
 - **KEY_NUMLOCK** = **16777242** --- Numlock Key
@@ -172,14 +172,14 @@ Numeric Constants
 - **KEY_KP_7** = **16777357** --- Number 7 on Numpad
 - **KEY_KP_7** = **16777357** --- Number 7 on Numpad
 - **KEY_KP_8** = **16777358** --- Number 8 on Numpad
 - **KEY_KP_8** = **16777358** --- Number 8 on Numpad
 - **KEY_KP_9** = **16777359** --- Number 9 on Numpad
 - **KEY_KP_9** = **16777359** --- Number 9 on Numpad
-- **KEY_SUPER_L** = **16777260** --- Super Left key (windows key)
-- **KEY_SUPER_R** = **16777261** --- Super Left key (windows key)
+- **KEY_SUPER_L** = **16777260** --- Left Super Key (Windows Key)
+- **KEY_SUPER_R** = **16777261** --- Right Super Key (Windows Key)
 - **KEY_MENU** = **16777262** --- Context menu key
 - **KEY_MENU** = **16777262** --- Context menu key
-- **KEY_HYPER_L** = **16777263**
-- **KEY_HYPER_R** = **16777264**
+- **KEY_HYPER_L** = **16777263** --- Left Hyper Key
+- **KEY_HYPER_R** = **16777264** --- Right Hyper Key
 - **KEY_HELP** = **16777265** --- Help key
 - **KEY_HELP** = **16777265** --- Help key
-- **KEY_DIRECTION_L** = **16777266**
-- **KEY_DIRECTION_R** = **16777267**
+- **KEY_DIRECTION_L** = **16777266** --- Left Direction Key
+- **KEY_DIRECTION_R** = **16777267** --- Right Direction Key
 - **KEY_BACK** = **16777280** --- Back key
 - **KEY_BACK** = **16777280** --- Back key
 - **KEY_FORWARD** = **16777281** --- Forward key
 - **KEY_FORWARD** = **16777281** --- Forward key
 - **KEY_STOP** = **16777282** --- Stop key
 - **KEY_STOP** = **16777282** --- Stop key
@@ -187,11 +187,11 @@ Numeric Constants
 - **KEY_VOLUMEDOWN** = **16777284** --- Volume down key
 - **KEY_VOLUMEDOWN** = **16777284** --- Volume down key
 - **KEY_VOLUMEMUTE** = **16777285** --- Mute volume key
 - **KEY_VOLUMEMUTE** = **16777285** --- Mute volume key
 - **KEY_VOLUMEUP** = **16777286** --- Volume up key
 - **KEY_VOLUMEUP** = **16777286** --- Volume up key
-- **KEY_BASSBOOST** = **16777287**
-- **KEY_BASSUP** = **16777288**
-- **KEY_BASSDOWN** = **16777289**
-- **KEY_TREBLEUP** = **16777290**
-- **KEY_TREBLEDOWN** = **16777291**
+- **KEY_BASSBOOST** = **16777287** --- Bass Boost Key
+- **KEY_BASSUP** = **16777288** --- Bass Up Key
+- **KEY_BASSDOWN** = **16777289** --- Bass Down Key
+- **KEY_TREBLEUP** = **16777290** --- Treble Up Key
+- **KEY_TREBLEDOWN** = **16777291** --- Treble Down Key
 - **KEY_MEDIAPLAY** = **16777292** --- Media play key
 - **KEY_MEDIAPLAY** = **16777292** --- Media play key
 - **KEY_MEDIASTOP** = **16777293** --- Media stop key
 - **KEY_MEDIASTOP** = **16777293** --- Media stop key
 - **KEY_MEDIAPREVIOUS** = **16777294** --- Previous song key
 - **KEY_MEDIAPREVIOUS** = **16777294** --- Previous song key
@@ -200,27 +200,27 @@ Numeric Constants
 - **KEY_HOMEPAGE** = **16777297** --- Home page key
 - **KEY_HOMEPAGE** = **16777297** --- Home page key
 - **KEY_FAVORITES** = **16777298** --- Favorites key
 - **KEY_FAVORITES** = **16777298** --- Favorites key
 - **KEY_SEARCH** = **16777299** --- Search key
 - **KEY_SEARCH** = **16777299** --- Search key
-- **KEY_STANDBY** = **16777300**
-- **KEY_OPENURL** = **16777301**
-- **KEY_LAUNCHMAIL** = **16777302**
-- **KEY_LAUNCHMEDIA** = **16777303**
-- **KEY_LAUNCH0** = **16777304**
-- **KEY_LAUNCH1** = **16777305**
-- **KEY_LAUNCH2** = **16777306**
-- **KEY_LAUNCH3** = **16777307**
-- **KEY_LAUNCH4** = **16777308**
-- **KEY_LAUNCH5** = **16777309**
-- **KEY_LAUNCH6** = **16777310**
-- **KEY_LAUNCH7** = **16777311**
-- **KEY_LAUNCH8** = **16777312**
-- **KEY_LAUNCH9** = **16777313**
-- **KEY_LAUNCHA** = **16777314**
-- **KEY_LAUNCHB** = **16777315**
-- **KEY_LAUNCHC** = **16777316**
-- **KEY_LAUNCHD** = **16777317**
-- **KEY_LAUNCHE** = **16777318**
-- **KEY_LAUNCHF** = **16777319**
-- **KEY_UNKNOWN** = **33554431**
+- **KEY_STANDBY** = **16777300** --- Standby Key
+- **KEY_OPENURL** = **16777301** --- Open URL / Launch Browser Key
+- **KEY_LAUNCHMAIL** = **16777302** --- Launch Mail Key
+- **KEY_LAUNCHMEDIA** = **16777303** --- Launch Media Key
+- **KEY_LAUNCH0** = **16777304** --- Launch Shortcut 0 Key
+- **KEY_LAUNCH1** = **16777305** --- Launch Shortcut 1 Key
+- **KEY_LAUNCH2** = **16777306** --- Launch Shortcut 2 Key
+- **KEY_LAUNCH3** = **16777307** --- Launch Shortcut 3 Key
+- **KEY_LAUNCH4** = **16777308** --- Launch Shortcut 4 Key
+- **KEY_LAUNCH5** = **16777309** --- Launch Shortcut 5 Key
+- **KEY_LAUNCH6** = **16777310** --- Launch Shortcut 6 Key
+- **KEY_LAUNCH7** = **16777311** --- Launch Shortcut 7 Key
+- **KEY_LAUNCH8** = **16777312** --- Launch Shortcut 8 Key
+- **KEY_LAUNCH9** = **16777313** --- Launch Shortcut 9 Key
+- **KEY_LAUNCHA** = **16777314** --- Launch Shortcut A Key
+- **KEY_LAUNCHB** = **16777315** --- Launch Shortcut B Key
+- **KEY_LAUNCHC** = **16777316** --- Launch Shortcut C Key
+- **KEY_LAUNCHD** = **16777317** --- Launch Shortcut D Key
+- **KEY_LAUNCHE** = **16777318** --- Launch Shortcut E Key
+- **KEY_LAUNCHF** = **16777319** --- Launch Shortcut F Key
+- **KEY_UNKNOWN** = **33554431** --- Unknown Key
 - **KEY_SPACE** = **32** --- Space Key
 - **KEY_SPACE** = **32** --- Space Key
 - **KEY_EXCLAM** = **33** --- ! key
 - **KEY_EXCLAM** = **33** --- ! key
 - **KEY_QUOTEDBL** = **34** --- " key
 - **KEY_QUOTEDBL** = **34** --- " key
@@ -285,7 +285,7 @@ Numeric Constants
 - **KEY_BRACKETRIGHT** = **93** --- ] key
 - **KEY_BRACKETRIGHT** = **93** --- ] key
 - **KEY_ASCIICIRCUM** = **94** --- ^ key
 - **KEY_ASCIICIRCUM** = **94** --- ^ key
 - **KEY_UNDERSCORE** = **95** --- \_ key
 - **KEY_UNDERSCORE** = **95** --- \_ key
-- **KEY_QUOTELEFT** = **96**
+- **KEY_QUOTELEFT** = **96** --- Left Quote Key
 - **KEY_BRACELEFT** = **123** --- { key
 - **KEY_BRACELEFT** = **123** --- { key
 - **KEY_BAR** = **124** --- | key
 - **KEY_BAR** = **124** --- | key
 - **KEY_BRACERIGHT** = **125** --- } key
 - **KEY_BRACERIGHT** = **125** --- } key
@@ -295,7 +295,7 @@ Numeric Constants
 - **KEY_CENT** = **162** --- ¢ key
 - **KEY_CENT** = **162** --- ¢ key
 - **KEY_STERLING** = **163**
 - **KEY_STERLING** = **163**
 - **KEY_CURRENCY** = **164**
 - **KEY_CURRENCY** = **164**
-- **KEY_YEN** = **165**
+- **KEY_YEN** = **165** --- Yen Key
 - **KEY_BROKENBAR** = **166** --- ¦ key
 - **KEY_BROKENBAR** = **166** --- ¦ key
 - **KEY_SECTION** = **167** --- § key
 - **KEY_SECTION** = **167** --- § key
 - **KEY_DIAERESIS** = **168** --- ¨ key
 - **KEY_DIAERESIS** = **168** --- ¨ key
@@ -305,66 +305,66 @@ Numeric Constants
 - **KEY_NOTSIGN** = **172** --- » key
 - **KEY_NOTSIGN** = **172** --- » key
 - **KEY_HYPHEN** = **173** --- ‐ key
 - **KEY_HYPHEN** = **173** --- ‐ key
 - **KEY_REGISTERED** = **174** --- ® key
 - **KEY_REGISTERED** = **174** --- ® key
-- **KEY_MACRON** = **175**
+- **KEY_MACRON** = **175** --- Macron Key
 - **KEY_DEGREE** = **176** --- ° key
 - **KEY_DEGREE** = **176** --- ° key
 - **KEY_PLUSMINUS** = **177** --- ± key
 - **KEY_PLUSMINUS** = **177** --- ± key
 - **KEY_TWOSUPERIOR** = **178** --- ² key
 - **KEY_TWOSUPERIOR** = **178** --- ² key
 - **KEY_THREESUPERIOR** = **179** --- ³ key
 - **KEY_THREESUPERIOR** = **179** --- ³ key
 - **KEY_ACUTE** = **180** --- ´ key
 - **KEY_ACUTE** = **180** --- ´ key
 - **KEY_MU** = **181** --- µ key
 - **KEY_MU** = **181** --- µ key
-- **KEY_PARAGRAPH** = **182**
+- **KEY_PARAGRAPH** = **182** --- Paragraph Key
 - **KEY_PERIODCENTERED** = **183** --- · key
 - **KEY_PERIODCENTERED** = **183** --- · key
 - **KEY_CEDILLA** = **184** --- ¬ key
 - **KEY_CEDILLA** = **184** --- ¬ key
-- **KEY_ONESUPERIOR** = **185**
-- **KEY_MASCULINE** = **186**
-- **KEY_GUILLEMOTRIGHT** = **187**
-- **KEY_ONEQUARTER** = **188**
+- **KEY_ONESUPERIOR** = **185** --- ¹ key
+- **KEY_MASCULINE** = **186** --- ♂ key
+- **KEY_GUILLEMOTRIGHT** = **187** --- » key
+- **KEY_ONEQUARTER** = **188** --- ¼ key
 - **KEY_ONEHALF** = **189** --- ½ key
 - **KEY_ONEHALF** = **189** --- ½ key
-- **KEY_THREEQUARTERS** = **190**
-- **KEY_QUESTIONDOWN** = **191**
-- **KEY_AGRAVE** = **192**
-- **KEY_AACUTE** = **193**
-- **KEY_ACIRCUMFLEX** = **194**
-- **KEY_ATILDE** = **195**
-- **KEY_ADIAERESIS** = **196**
-- **KEY_ARING** = **197**
-- **KEY_AE** = **198**
-- **KEY_CCEDILLA** = **199**
-- **KEY_EGRAVE** = **200**
-- **KEY_EACUTE** = **201**
-- **KEY_ECIRCUMFLEX** = **202**
-- **KEY_EDIAERESIS** = **203**
-- **KEY_IGRAVE** = **204**
-- **KEY_IACUTE** = **205**
-- **KEY_ICIRCUMFLEX** = **206**
-- **KEY_IDIAERESIS** = **207**
-- **KEY_ETH** = **208**
-- **KEY_NTILDE** = **209**
-- **KEY_OGRAVE** = **210**
-- **KEY_OACUTE** = **211**
-- **KEY_OCIRCUMFLEX** = **212**
-- **KEY_OTILDE** = **213**
-- **KEY_ODIAERESIS** = **214**
-- **KEY_MULTIPLY** = **215**
-- **KEY_OOBLIQUE** = **216**
-- **KEY_UGRAVE** = **217**
-- **KEY_UACUTE** = **218**
-- **KEY_UCIRCUMFLEX** = **219**
-- **KEY_UDIAERESIS** = **220**
-- **KEY_YACUTE** = **221**
-- **KEY_THORN** = **222**
-- **KEY_SSHARP** = **223**
-- **KEY_DIVISION** = **247**
-- **KEY_YDIAERESIS** = **255**
-- **KEY_CODE_MASK** = **33554431**
-- **KEY_MODIFIER_MASK** = **-16777216**
-- **KEY_MASK_SHIFT** = **33554432**
-- **KEY_MASK_ALT** = **67108864**
-- **KEY_MASK_META** = **134217728**
-- **KEY_MASK_CTRL** = **268435456**
-- **KEY_MASK_CMD** = **268435456**
-- **KEY_MASK_KPAD** = **536870912**
-- **KEY_MASK_GROUP_SWITCH** = **1073741824**
+- **KEY_THREEQUARTERS** = **190** --- ¾ key
+- **KEY_QUESTIONDOWN** = **191** --- ¿ key
+- **KEY_AGRAVE** = **192** --- à key
+- **KEY_AACUTE** = **193** --- á key
+- **KEY_ACIRCUMFLEX** = **194** --- â key
+- **KEY_ATILDE** = **195** --- ã key
+- **KEY_ADIAERESIS** = **196** --- ä key
+- **KEY_ARING** = **197** --- å key
+- **KEY_AE** = **198** --- æ key
+- **KEY_CCEDILLA** = **199** --- ç key
+- **KEY_EGRAVE** = **200** --- è key
+- **KEY_EACUTE** = **201** --- é key
+- **KEY_ECIRCUMFLEX** = **202** --- ê key
+- **KEY_EDIAERESIS** = **203** --- ë key
+- **KEY_IGRAVE** = **204** --- ì key
+- **KEY_IACUTE** = **205** --- í key
+- **KEY_ICIRCUMFLEX** = **206** --- î key
+- **KEY_IDIAERESIS** = **207** --- ë key
+- **KEY_ETH** = **208** --- ð key
+- **KEY_NTILDE** = **209** --- ñ key
+- **KEY_OGRAVE** = **210** --- ò key
+- **KEY_OACUTE** = **211** --- ó key
+- **KEY_OCIRCUMFLEX** = **212** --- ô key
+- **KEY_OTILDE** = **213** --- õ key
+- **KEY_ODIAERESIS** = **214** --- ö key
+- **KEY_MULTIPLY** = **215** --- × key
+- **KEY_OOBLIQUE** = **216** --- ø key
+- **KEY_UGRAVE** = **217** --- ù key
+- **KEY_UACUTE** = **218** --- ú key
+- **KEY_UCIRCUMFLEX** = **219** --- û key
+- **KEY_UDIAERESIS** = **220** --- ü key
+- **KEY_YACUTE** = **221** --- ý key
+- **KEY_THORN** = **222** --- þ key
+- **KEY_SSHARP** = **223** --- ß key
+- **KEY_DIVISION** = **247** --- ÷ key
+- **KEY_YDIAERESIS** = **255** --- ÿ key
+- **KEY_CODE_MASK** = **33554431** --- Key Code Mask
+- **KEY_MODIFIER_MASK** = **-16777216** --- Modifier Key Mask
+- **KEY_MASK_SHIFT** = **33554432** --- Shift Key Mask
+- **KEY_MASK_ALT** = **67108864** --- Alt Key Mask
+- **KEY_MASK_META** = **134217728** --- Meta Key Mask
+- **KEY_MASK_CTRL** = **268435456** --- CTRL Key Mask
+- **KEY_MASK_CMD** = **268435456** --- CMD Key Mask
+- **KEY_MASK_KPAD** = **536870912** --- Keypad Key Mask
+- **KEY_MASK_GROUP_SWITCH** = **1073741824** --- Group Switch Key Mask
 - **BUTTON_LEFT** = **1** --- Left Mouse Button
 - **BUTTON_LEFT** = **1** --- Left Mouse Button
 - **BUTTON_RIGHT** = **2** --- Right Mouse Button
 - **BUTTON_RIGHT** = **2** --- Right Mouse Button
 - **BUTTON_MIDDLE** = **3** --- Middle Mouse Button
 - **BUTTON_MIDDLE** = **3** --- Middle Mouse Button
@@ -372,9 +372,9 @@ Numeric Constants
 - **BUTTON_WHEEL_DOWN** = **5** --- Mouse wheel down
 - **BUTTON_WHEEL_DOWN** = **5** --- Mouse wheel down
 - **BUTTON_WHEEL_LEFT** = **6** --- Mouse wheel left button
 - **BUTTON_WHEEL_LEFT** = **6** --- Mouse wheel left button
 - **BUTTON_WHEEL_RIGHT** = **7** --- Mouse wheel right button
 - **BUTTON_WHEEL_RIGHT** = **7** --- Mouse wheel right button
-- **BUTTON_MASK_LEFT** = **1**
-- **BUTTON_MASK_RIGHT** = **2**
-- **BUTTON_MASK_MIDDLE** = **4**
+- **BUTTON_MASK_LEFT** = **1** --- Left Mouse Button Mask
+- **BUTTON_MASK_RIGHT** = **2** --- Right Mouse Button Mask
+- **BUTTON_MASK_MIDDLE** = **4** --- Middle Mouse Button Mask
 - **JOY_BUTTON_0** = **0** --- Joypad Button 0
 - **JOY_BUTTON_0** = **0** --- Joypad Button 0
 - **JOY_BUTTON_1** = **1** --- Joypad Button 1
 - **JOY_BUTTON_1** = **1** --- Joypad Button 1
 - **JOY_BUTTON_2** = **2** --- Joypad Button 2
 - **JOY_BUTTON_2** = **2** --- Joypad Button 2
@@ -400,10 +400,10 @@ Numeric Constants
 - **JOY_XBOX_A** = **0** --- XBOX controller A button
 - **JOY_XBOX_A** = **0** --- XBOX controller A button
 - **JOY_XBOX_X** = **2** --- XBOX controller X button
 - **JOY_XBOX_X** = **2** --- XBOX controller X button
 - **JOY_XBOX_Y** = **3** --- XBOX controller Y button
 - **JOY_XBOX_Y** = **3** --- XBOX controller Y button
-- **JOY_DS_A** = **1**
-- **JOY_DS_B** = **0**
-- **JOY_DS_X** = **3**
-- **JOY_DS_Y** = **2**
+- **JOY_DS_A** = **1** --- DualShock controller A button
+- **JOY_DS_B** = **0** --- DualShock controller B button
+- **JOY_DS_X** = **3** --- DualShock controller X button
+- **JOY_DS_Y** = **2** --- DualShock controller Y button
 - **JOY_SELECT** = **10** --- Joypad Button Select
 - **JOY_SELECT** = **10** --- Joypad Button Select
 - **JOY_START** = **11** --- Joypad Button Start
 - **JOY_START** = **11** --- Joypad Button Start
 - **JOY_DPAD_UP** = **12** --- Joypad DPad Up
 - **JOY_DPAD_UP** = **12** --- Joypad DPad Up
@@ -429,50 +429,50 @@ Numeric Constants
 - **JOY_ANALOG_LY** = **1** --- Joypad Left Stick Vertical Axis
 - **JOY_ANALOG_LY** = **1** --- Joypad Left Stick Vertical Axis
 - **JOY_ANALOG_RX** = **2** --- Joypad Right Stick Horizontal Axis
 - **JOY_ANALOG_RX** = **2** --- Joypad Right Stick Horizontal Axis
 - **JOY_ANALOG_RY** = **3** --- Joypad Right Stick Vertical Axis
 - **JOY_ANALOG_RY** = **3** --- Joypad Right Stick Vertical Axis
-- **JOY_ANALOG_L2** = **6**
-- **JOY_ANALOG_R2** = **7**
-- **OK** = **0** --- Functions that return Error return OK when everything went ok. Most functions don't return error anyway and/or just print errors to stdout.
-- **FAILED** = **1** --- Generic fail return error.
-- **ERR_UNAVAILABLE** = **2**
-- **ERR_UNCONFIGURED** = **3**
-- **ERR_UNAUTHORIZED** = **4**
-- **ERR_PARAMETER_RANGE_ERROR** = **5**
-- **ERR_OUT_OF_MEMORY** = **6**
-- **ERR_FILE_NOT_FOUND** = **7**
-- **ERR_FILE_BAD_DRIVE** = **8**
-- **ERR_FILE_BAD_PATH** = **9**
-- **ERR_FILE_NO_PERMISSION** = **10**
-- **ERR_FILE_ALREADY_IN_USE** = **11**
-- **ERR_FILE_CANT_OPEN** = **12**
-- **ERR_FILE_CANT_WRITE** = **13**
-- **ERR_FILE_CANT_READ** = **14**
-- **ERR_FILE_UNRECOGNIZED** = **15**
-- **ERR_FILE_CORRUPT** = **16**
-- **ERR_FILE_MISSING_DEPENDENCIES** = **17**
-- **ERR_FILE_EOF** = **18**
-- **ERR_CANT_OPEN** = **19**
-- **ERR_CANT_CREATE** = **20**
-- **ERR_PARSE_ERROR** = **43**
-- **ERR_QUERY_FAILED** = **21**
-- **ERR_ALREADY_IN_USE** = **22**
-- **ERR_LOCKED** = **23**
-- **ERR_TIMEOUT** = **24**
-- **ERR_CANT_ACQUIRE_RESOURCE** = **28**
-- **ERR_INVALID_DATA** = **30**
-- **ERR_INVALID_PARAMETER** = **31**
-- **ERR_ALREADY_EXISTS** = **32**
-- **ERR_DOES_NOT_EXIST** = **33**
-- **ERR_DATABASE_CANT_READ** = **34**
-- **ERR_DATABASE_CANT_WRITE** = **35**
-- **ERR_COMPILATION_FAILED** = **36**
-- **ERR_METHOD_NOT_FOUND** = **37**
-- **ERR_LINK_FAILED** = **38**
-- **ERR_SCRIPT_FAILED** = **39**
-- **ERR_CYCLIC_LINK** = **40**
-- **ERR_BUSY** = **44**
-- **ERR_HELP** = **46**
-- **ERR_BUG** = **47**
-- **ERR_WTF** = **49**
+- **JOY_ANALOG_L2** = **6** --- Joypad Left Analog Trigger
+- **JOY_ANALOG_R2** = **7** --- Joypad Right Analog Trigger
+- **OK** = **0** --- Functions that return Error return OK when no error occured. Most functions don't return errors and/or just print errors to STDOUT.
+- **FAILED** = **1** --- Generic error.
+- **ERR_UNAVAILABLE** = **2** --- Unavailable error
+- **ERR_UNCONFIGURED** = **3** --- Unconfigured error
+- **ERR_UNAUTHORIZED** = **4** --- Unauthorized error
+- **ERR_PARAMETER_RANGE_ERROR** = **5** --- Parameter range error
+- **ERR_OUT_OF_MEMORY** = **6** --- Out of memory (OOM) error
+- **ERR_FILE_NOT_FOUND** = **7** --- File: Not found error
+- **ERR_FILE_BAD_DRIVE** = **8** --- File: Bad drive error
+- **ERR_FILE_BAD_PATH** = **9** --- File: Bad path error
+- **ERR_FILE_NO_PERMISSION** = **10** --- File: No permission error
+- **ERR_FILE_ALREADY_IN_USE** = **11** --- File: Already in use error
+- **ERR_FILE_CANT_OPEN** = **12** --- File: Can't open error
+- **ERR_FILE_CANT_WRITE** = **13** --- File: Can't write error
+- **ERR_FILE_CANT_READ** = **14** --- File: Can't read error
+- **ERR_FILE_UNRECOGNIZED** = **15** --- File: Unrecognized error
+- **ERR_FILE_CORRUPT** = **16** --- File: Corrupt error
+- **ERR_FILE_MISSING_DEPENDENCIES** = **17** --- File: Missing dependencies error
+- **ERR_FILE_EOF** = **18** --- File: End of file (EOF) error
+- **ERR_CANT_OPEN** = **19** --- Can't open error
+- **ERR_CANT_CREATE** = **20** --- Can't create error
+- **ERR_PARSE_ERROR** = **43** --- Parse error
+- **ERR_QUERY_FAILED** = **21** --- Query failed error
+- **ERR_ALREADY_IN_USE** = **22** --- Already in use error
+- **ERR_LOCKED** = **23** --- Locked error
+- **ERR_TIMEOUT** = **24** --- Timeout error
+- **ERR_CANT_ACQUIRE_RESOURCE** = **28** --- Can't acquire resource error
+- **ERR_INVALID_DATA** = **30** --- Invalid data error
+- **ERR_INVALID_PARAMETER** = **31** --- Invalid parameter error
+- **ERR_ALREADY_EXISTS** = **32** --- Already exists error
+- **ERR_DOES_NOT_EXIST** = **33** --- Does not exist error
+- **ERR_DATABASE_CANT_READ** = **34** --- Database: Read error
+- **ERR_DATABASE_CANT_WRITE** = **35** --- Database: Write error
+- **ERR_COMPILATION_FAILED** = **36** --- Compilation failed error
+- **ERR_METHOD_NOT_FOUND** = **37** --- Method not found error
+- **ERR_LINK_FAILED** = **38** --- Linking failed error
+- **ERR_SCRIPT_FAILED** = **39** --- Script failed error
+- **ERR_CYCLIC_LINK** = **40** --- Cycling link (import cycle) error
+- **ERR_BUSY** = **44** --- Busy error
+- **ERR_HELP** = **46** --- Help error
+- **ERR_BUG** = **47** --- Bug error
+- **ERR_WTF** = **49** --- WTF error (something probably went really wrong)
 - **PROPERTY_HINT_NONE** = **0** --- No hint for edited property.
 - **PROPERTY_HINT_NONE** = **0** --- No hint for edited property.
 - **PROPERTY_HINT_RANGE** = **1** --- Hints that the string is a range, defined as "min,max" or "min,max,step". This is valid for integers and floats.
 - **PROPERTY_HINT_RANGE** = **1** --- Hints that the string is a range, defined as "min,max" or "min,max,step". This is valid for integers and floats.
 - **PROPERTY_HINT_EXP_RANGE** = **2** --- Hints that the string is an exponential range, defined as "min,max" or "min,max,step". This is valid for integers and floats.
 - **PROPERTY_HINT_EXP_RANGE** = **2** --- Hints that the string is an exponential range, defined as "min,max" or "min,max,step". This is valid for integers and floats.
@@ -492,8 +492,8 @@ Numeric Constants
 - **PROPERTY_HINT_RESOURCE_TYPE** = **17** --- String property is a resource, so open the resource popup menu when edited.
 - **PROPERTY_HINT_RESOURCE_TYPE** = **17** --- String property is a resource, so open the resource popup menu when edited.
 - **PROPERTY_HINT_MULTILINE_TEXT** = **18**
 - **PROPERTY_HINT_MULTILINE_TEXT** = **18**
 - **PROPERTY_HINT_COLOR_NO_ALPHA** = **19**
 - **PROPERTY_HINT_COLOR_NO_ALPHA** = **19**
-- **PROPERTY_HINT_IMAGE_COMPRESS_LOSSY** = **20**
-- **PROPERTY_HINT_IMAGE_COMPRESS_LOSSLESS** = **21**
+- **PROPERTY_HINT_IMAGE_COMPRESS_LOSSY** = **20** --- Hints that the image is compressed using lossy compression.
+- **PROPERTY_HINT_IMAGE_COMPRESS_LOSSLESS** = **21** --- Hints that the image is compressed using lossless compression.
 - **PROPERTY_USAGE_STORAGE** = **1** --- Property will be used as storage (default).
 - **PROPERTY_USAGE_STORAGE** = **1** --- Property will be used as storage (default).
 - **PROPERTY_USAGE_EDITOR** = **2** --- Property will be visible in editor (default).
 - **PROPERTY_USAGE_EDITOR** = **2** --- Property will be visible in editor (default).
 - **PROPERTY_USAGE_NETWORK** = **4**
 - **PROPERTY_USAGE_NETWORK** = **4**
@@ -511,14 +511,14 @@ Numeric Constants
 - **PROPERTY_USAGE_DEFAULT** = **7** --- Default usage (storage and editor).
 - **PROPERTY_USAGE_DEFAULT** = **7** --- Default usage (storage and editor).
 - **PROPERTY_USAGE_DEFAULT_INTL** = **71**
 - **PROPERTY_USAGE_DEFAULT_INTL** = **71**
 - **PROPERTY_USAGE_NOEDITOR** = **5**
 - **PROPERTY_USAGE_NOEDITOR** = **5**
-- **METHOD_FLAG_NORMAL** = **1**
-- **METHOD_FLAG_EDITOR** = **2**
+- **METHOD_FLAG_NORMAL** = **1** --- Flag for normal method
+- **METHOD_FLAG_EDITOR** = **2** --- Flag for editor method
 - **METHOD_FLAG_NOSCRIPT** = **4**
 - **METHOD_FLAG_NOSCRIPT** = **4**
-- **METHOD_FLAG_CONST** = **8**
+- **METHOD_FLAG_CONST** = **8** --- Flag for constant method
 - **METHOD_FLAG_REVERSE** = **16**
 - **METHOD_FLAG_REVERSE** = **16**
-- **METHOD_FLAG_VIRTUAL** = **32**
-- **METHOD_FLAG_FROM_SCRIPT** = **64**
-- **METHOD_FLAGS_DEFAULT** = **1**
+- **METHOD_FLAG_VIRTUAL** = **32** --- Flag for virtual method
+- **METHOD_FLAG_FROM_SCRIPT** = **64** --- Flag for method from script
+- **METHOD_FLAGS_DEFAULT** = **1** --- Default method flags
 - **TYPE_NIL** = **0** --- Variable is of type nil (only applied for null).
 - **TYPE_NIL** = **0** --- Variable is of type nil (only applied for null).
 - **TYPE_BOOL** = **1** --- Variable is of type :ref:`bool<class_bool>`.
 - **TYPE_BOOL** = **1** --- Variable is of type :ref:`bool<class_bool>`.
 - **TYPE_INT** = **2** --- Variable is of type :ref:`int<class_int>`.
 - **TYPE_INT** = **2** --- Variable is of type :ref:`int<class_int>`.
@@ -546,7 +546,7 @@ Numeric Constants
 - **TYPE_VECTOR2_ARRAY** = **24** --- Variable is of type :ref:`PoolVector2Array<class_poolvector2array>`.
 - **TYPE_VECTOR2_ARRAY** = **24** --- Variable is of type :ref:`PoolVector2Array<class_poolvector2array>`.
 - **TYPE_VECTOR3_ARRAY** = **25** --- Variable is of type :ref:`PoolVector3Array<class_poolvector3array>`.
 - **TYPE_VECTOR3_ARRAY** = **25** --- Variable is of type :ref:`PoolVector3Array<class_poolvector3array>`.
 - **TYPE_COLOR_ARRAY** = **26** --- Variable is of type :ref:`PoolColorArray<class_poolcolorarray>`.
 - **TYPE_COLOR_ARRAY** = **26** --- Variable is of type :ref:`PoolColorArray<class_poolcolorarray>`.
-- **TYPE_MAX** = **27**
+- **TYPE_MAX** = **27** --- Marker for end of type constants.
 
 
 Description
 Description
 -----------
 -----------

+ 1 - 1
classes/class_area.rst

@@ -316,7 +316,7 @@ Return the linear damp rate.
 
 
 - :ref:`Array<class_array>` **get_overlapping_areas** **(** **)** const
 - :ref:`Array<class_array>` **get_overlapping_areas** **(** **)** const
 
 
-Returns a list of intersecting :ref:`Area<class_area>`\ s.
+Returns a list of intersecting ``Area``s.
 
 
 .. _class_Area_get_overlapping_bodies:
 .. _class_Area_get_overlapping_bodies:
 
 

+ 1 - 1
classes/class_area2d.rst

@@ -284,7 +284,7 @@ Return the linear damp rate.
 
 
 - :ref:`Array<class_array>` **get_overlapping_areas** **(** **)** const
 - :ref:`Array<class_array>` **get_overlapping_areas** **(** **)** const
 
 
-Returns a list of intersecting :ref:`Area2D<class_area2d>`\ s.
+Returns a list of intersecting ``Area2D``s.
 
 
 .. _class_Area2D_get_overlapping_bodies:
 .. _class_Area2D_get_overlapping_bodies:
 
 

+ 1 - 1
classes/class_arraymesh.rst

@@ -135,7 +135,7 @@ Surfaces are created to be rendered using a "primitive", which may be PRIMITIVE_
 
 
 - :ref:`int<class_int>` **get_surface_count** **(** **)** const
 - :ref:`int<class_int>` **get_surface_count** **(** **)** const
 
 
-Return the amount of surfaces that the :ref:`ArrayMesh<class_arraymesh>` holds.
+Return the amount of surfaces that the ``ArrayMesh`` holds.
 
 
 .. _class_ArrayMesh_regen_normalmaps:
 .. _class_ArrayMesh_regen_normalmaps:
 
 

+ 1 - 1
classes/class_arvranchor.rst

@@ -38,7 +38,7 @@ Member Variables
 
 
   .. _class_ARVRAnchor_anchor_id:
   .. _class_ARVRAnchor_anchor_id:
 
 
-- :ref:`int<class_int>` **anchor_id**
+- :ref:`int<class_int>` **anchor_id** - The anchor's id. You can set this before the anchor itself exists. The first anchor gets an id of ``1``, the second an id of ``2``, etc. When anchors get removed, the engine can then assign the corresponding id to new anchors. The most common situation where anchors 'disappear' is when the AR server identifies that two anchors represent different parts of the same plane and merges them.
 
 
 
 
 Description
 Description

+ 3 - 1
classes/class_arvrcontroller.rst

@@ -58,7 +58,7 @@ Member Variables
 
 
   .. _class_ARVRController_controller_id:
   .. _class_ARVRController_controller_id:
 
 
-- :ref:`int<class_int>` **controller_id**
+- :ref:`int<class_int>` **controller_id** - The controller's id. The first controller that the :ref:`ARVRServer<class_arvrserver>` detects will have id 1, the second id 2, the third id 3, etc. When a controller is turned off, it's slot is freed. This ensures controllers will keep the same id even when controllers with lower ids are turned off.
 
 
 
 
 Description
 Description
@@ -89,6 +89,8 @@ If active, returns the name of the associated controller if provided by the AR/V
 
 
 - :ref:`int<class_int>` **get_hand** **(** **)** const
 - :ref:`int<class_int>` **get_hand** **(** **)** const
 
 
+Returns the hand holding this controller, if known. See TRACKER\_\* constants in :ref:`ARVRPositionalTracker<class_arvrpositionaltracker>`.
+
 .. _class_ARVRController_get_is_active:
 .. _class_ARVRController_get_is_active:
 
 
 - :ref:`bool<class_bool>` **get_is_active** **(** **)** const
 - :ref:`bool<class_bool>` **get_is_active** **(** **)** const

+ 3 - 1
classes/class_arvrorigin.rst

@@ -30,7 +30,9 @@ Member Variables
 
 
   .. _class_ARVROrigin_world_scale:
   .. _class_ARVROrigin_world_scale:
 
 
-- :ref:`float<class_float>` **world_scale**
+- :ref:`float<class_float>` **world_scale** - Allows you to adjust the scale to your game's units. Most AR/VR platforms assume a scale of 1 game world unit = 1 meter in the real world.
+
+Note that this method is a passthrough to the :ref:`ARVRServer<class_arvrserver>` itself.
 
 
 
 
 Description
 Description

+ 5 - 3
classes/class_arvrpositionaltracker.rst

@@ -42,9 +42,9 @@ Member Functions
 Numeric Constants
 Numeric Constants
 -----------------
 -----------------
 
 
-- **TRACKER_HAND_UNKNOWN** = **0**
-- **TRACKER_LEFT_HAND** = **1**
-- **TRACKER_RIGHT_HAND** = **2**
+- **TRACKER_HAND_UNKNOWN** = **0** --- The hand this tracker is held in is unknown or not applicable.
+- **TRACKER_LEFT_HAND** = **1** --- This tracker is the left hand controller.
+- **TRACKER_RIGHT_HAND** = **2** --- This tracker is the right hand controller.
 
 
 Description
 Description
 -----------
 -----------
@@ -62,6 +62,8 @@ Member Function Description
 
 
 - :ref:`int<class_int>` **get_hand** **(** **)** const
 - :ref:`int<class_int>` **get_hand** **(** **)** const
 
 
+Returns the hand holding this tracker, if known. See TRACKER\_\* constants.
+
 .. _class_ARVRPositionalTracker_get_joy_id:
 .. _class_ARVRPositionalTracker_get_joy_id:
 
 
 - :ref:`int<class_int>` **get_joy_id** **(** **)** const
 - :ref:`int<class_int>` **get_joy_id** **(** **)** const

+ 2 - 2
classes/class_arvrserver.rst

@@ -78,7 +78,7 @@ Member Variables
 
 
   .. _class_ARVRServer_world_scale:
   .. _class_ARVRServer_world_scale:
 
 
-- :ref:`float<class_float>` **world_scale**
+- :ref:`float<class_float>` **world_scale** - Allows you to adjust the scale to your game's units. Most AR/VR platforms assume a scale of 1 game world unit = 1 meter in the real world.
 
 
 
 
 Numeric Constants
 Numeric Constants
@@ -87,8 +87,8 @@ Numeric Constants
 - **TRACKER_CONTROLLER** = **1** --- Our tracker tracks the location of a controller.
 - **TRACKER_CONTROLLER** = **1** --- Our tracker tracks the location of a controller.
 - **TRACKER_BASESTATION** = **2** --- Our tracker tracks the location of a base station.
 - **TRACKER_BASESTATION** = **2** --- Our tracker tracks the location of a base station.
 - **TRACKER_ANCHOR** = **4** --- Our tracker tracks the location and size of an AR anchor.
 - **TRACKER_ANCHOR** = **4** --- Our tracker tracks the location and size of an AR anchor.
-- **TRACKER_UNKNOWN** = **128** --- Used internally if we haven't set the tracker type yet.
 - **TRACKER_ANY_KNOWN** = **127** --- Used internally to filter trackers of any known type.
 - **TRACKER_ANY_KNOWN** = **127** --- Used internally to filter trackers of any known type.
+- **TRACKER_UNKNOWN** = **128** --- Used internally if we haven't set the tracker type yet.
 - **TRACKER_ANY** = **255** --- Used internally to select all trackers.
 - **TRACKER_ANY** = **255** --- Used internally to select all trackers.
 
 
 Description
 Description

+ 41 - 1
classes/class_astar.rst

@@ -54,6 +54,12 @@ Member Functions
 +--------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                             | :ref:`remove_point<class_AStar_remove_point>` **(** :ref:`int<class_int>` id **)**                                                                               |
 | void                                             | :ref:`remove_point<class_AStar_remove_point>` **(** :ref:`int<class_int>` id **)**                                                                               |
 +--------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                             | :ref:`set_point_position<class_AStar_set_point_position>` **(** :ref:`int<class_int>` id, :ref:`Vector3<class_vector3>` position **)**                           |
++--------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                             | :ref:`set_point_weight_scale<class_AStar_set_point_weight_scale>` **(** :ref:`int<class_int>` id, :ref:`float<class_float>` weight_scale **)**                   |
++--------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`PoolIntArray<class_poolintarray>`          | :ref:`get_point_connections<class_AStar_get_point_connections>` **(** :ref:`int<class_int>` id **)**                                                             |
++--------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 
 
 Description
 Description
 -----------
 -----------
@@ -89,6 +95,8 @@ Adds a new point at the given position with the given identifier. The algorithm
     
     
     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.
+
 .. _class_AStar_are_points_connected:
 .. _class_AStar_are_points_connected:
 
 
 - :ref:`bool<class_bool>` **are_points_connected** **(** :ref:`int<class_int>` id, :ref:`int<class_int>` to_id **)** const
 - :ref:`bool<class_bool>` **are_points_connected** **(** :ref:`int<class_int>` id, :ref:`int<class_int>` to_id **)** const
@@ -127,7 +135,7 @@ Deletes the segment between the given points.
 
 
 - :ref:`int<class_int>` **get_available_point_id** **(** **)** const
 - :ref:`int<class_int>` **get_available_point_id** **(** **)** const
 
 
-Returns an id with no point associated to it.
+Returns the next available point id with no point associated to it.
 
 
 .. _class_AStar_get_closest_point:
 .. _class_AStar_get_closest_point:
 
 
@@ -213,4 +221,36 @@ Returns whether a point associated with the given id exists.
 
 
 Removes the point associated with the given id from the points pool.
 Removes the point associated with the given id from the points pool.
 
 
+.. _class_AStar_set_point_position:
+
+- void **set_point_position** **(** :ref:`int<class_int>` id, :ref:`Vector3<class_vector3>` position **)**
+
+Sets the position for the point with the given id.
+
+.. _class_AStar_set_point_weight_scale:
+
+- void **set_point_weight_scale** **(** :ref:`int<class_int>` id, :ref:`float<class_float>` weight_scale **)**
+
+Sets the ``weight_scale`` for the point with the given id.
+
+.. _class_AStar_get_point_connections:
+
+- :ref:`PoolIntArray<class_poolintarray>` **get_point_connections** **(** :ref:`int<class_int>` id **)**
+
+Returns an array with the ids of the points that form the connect with the given point. 
+
+::
+
+    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.connect_points(1, 2, true)
+    as.connect_points(1, 3, true)
+    
+    var neighbors = as.get_point_connections(1) # returns [2, 3]
+
 
 

+ 5 - 0
classes/class_audioeffectbandlimitfilter.rst

@@ -14,5 +14,10 @@ AudioEffectBandLimitFilter
 Brief Description
 Brief Description
 -----------------
 -----------------
 
 
+Adds a band limit filter to the Audio Bus.
 
 
+Description
+-----------
+
+Limits the frequencies in a range around the :ref:`cutoff_hz<class_AudioEffectBandLimitFilter_cutoff_hz>` and allows frequencies outside of this range to pass.
 
 

+ 5 - 0
classes/class_audioeffectbandpassfilter.rst

@@ -14,5 +14,10 @@ AudioEffectBandPassFilter
 Brief Description
 Brief Description
 -----------------
 -----------------
 
 
+Adds a band pass filter to the Audio Bus.
 
 
+Description
+-----------
+
+Attenuates the frequencies inside of a range around the :ref:`cutoff_hz<class_AudioEffectBandPassFilter_cutoff_hz>` and cuts frequencies outside of this band.
 
 

+ 11 - 6
classes/class_audioeffectfilter.rst

@@ -16,7 +16,7 @@ AudioEffectFilter
 Brief Description
 Brief Description
 -----------------
 -----------------
 
 
-
+Adds a filter to the Audio Bus.
 
 
 Member Functions
 Member Functions
 ----------------
 ----------------
@@ -44,19 +44,19 @@ Member Variables
 
 
   .. _class_AudioEffectFilter_cutoff_hz:
   .. _class_AudioEffectFilter_cutoff_hz:
 
 
-- :ref:`float<class_float>` **cutoff_hz**
+- :ref:`float<class_float>` **cutoff_hz** - Threshold frequency for the filter.
 
 
-  .. _class_AudioEffectFilter_dB:
+  .. _class_AudioEffectFilter_db:
 
 
-- :ref:`int<class_int>` **dB**
+- :ref:`int<class_int>` **db**
 
 
   .. _class_AudioEffectFilter_gain:
   .. _class_AudioEffectFilter_gain:
 
 
-- :ref:`float<class_float>` **gain**
+- :ref:`float<class_float>` **gain** - Gain amount of the frequencies after the filter.
 
 
   .. _class_AudioEffectFilter_resonance:
   .. _class_AudioEffectFilter_resonance:
 
 
-- :ref:`float<class_float>` **resonance**
+- :ref:`float<class_float>` **resonance** - Amount of boost in the overtones near the cutoff frequency.
 
 
 
 
 Numeric Constants
 Numeric Constants
@@ -67,6 +67,11 @@ Numeric Constants
 - **FILTER_18DB** = **2**
 - **FILTER_18DB** = **2**
 - **FILTER_24DB** = **3**
 - **FILTER_24DB** = **3**
 
 
+Description
+-----------
+
+Allows frequencies other than the :ref:`cutoff_hz<class_AudioEffectFilter_cutoff_hz>` to pass.
+
 Member Function Description
 Member Function Description
 ---------------------------
 ---------------------------
 
 

+ 5 - 0
classes/class_audioeffecthighpassfilter.rst

@@ -14,5 +14,10 @@ AudioEffectHighPassFilter
 Brief Description
 Brief Description
 -----------------
 -----------------
 
 
+Adds a high pass filter to the Audio Bus.
 
 
+Description
+-----------
+
+Cuts frequencies lower than the :ref:`cutoff_hz<class_AudioEffectHighPassFilter_cutoff_hz>` and allows higher frequencies to pass.
 
 

+ 5 - 0
classes/class_audioeffectlowpassfilter.rst

@@ -14,5 +14,10 @@ AudioEffectLowPassFilter
 Brief Description
 Brief Description
 -----------------
 -----------------
 
 
+Adds a low pass filter to the Audio Bus.
 
 
+Description
+-----------
+
+Cuts frequencies higher than the :ref:`cutoff_hz<class_AudioEffectLowPassFilter_cutoff_hz>` and allows lower frequencies to pass.
 
 

+ 5 - 0
classes/class_audioeffectnotchfilter.rst

@@ -14,5 +14,10 @@ AudioEffectNotchFilter
 Brief Description
 Brief Description
 -----------------
 -----------------
 
 
+Adds a notch filter to the Audio Bus.
 
 
+Description
+-----------
+
+Attenuates frequencies in a narrow band around the :ref:`cutoff_hz<class_AudioEffectNotchFilter_cutoff_hz>` and cuts frequencies outside of this range.
 
 

+ 9 - 9
classes/class_basebutton.rst

@@ -16,7 +16,7 @@ BaseButton
 Brief Description
 Brief Description
 -----------------
 -----------------
 
 
-Provides a base class for different kinds of buttons.
+Base class for different kinds of buttons.
 
 
 Member Functions
 Member Functions
 ----------------
 ----------------
@@ -92,31 +92,31 @@ Member Variables
 
 
   .. _class_BaseButton_action_mode:
   .. _class_BaseButton_action_mode:
 
 
-- :ref:`int<class_int>` **action_mode**
+- :ref:`int<class_int>` **action_mode** - Determines when the button is considered clicked, one of the ACTION_MODE\_\* constants.
 
 
   .. _class_BaseButton_disabled:
   .. _class_BaseButton_disabled:
 
 
-- :ref:`bool<class_bool>` **disabled**
+- :ref:`bool<class_bool>` **disabled** - If ``true`` the button is in disabled state and can't be clicked or toggled.
 
 
   .. _class_BaseButton_enabled_focus_mode:
   .. _class_BaseButton_enabled_focus_mode:
 
 
-- :ref:`int<class_int>` **enabled_focus_mode**
+- :ref:`int<class_int>` **enabled_focus_mode** - Focus access mode to use when switching between enabled/disabled (see :ref:`Control.set_focus_mode<class_Control_set_focus_mode>` and :ref:`disabled<class_BaseButton_disabled>`).
 
 
   .. _class_BaseButton_group:
   .. _class_BaseButton_group:
 
 
-- :ref:`ButtonGroup<class_buttongroup>` **group**
+- :ref:`ButtonGroup<class_buttongroup>` **group** - :ref:`ButtonGroup<class_buttongroup>` associated to the button.
 
 
   .. _class_BaseButton_pressed:
   .. _class_BaseButton_pressed:
 
 
-- :ref:`bool<class_bool>` **pressed**
+- :ref:`bool<class_bool>` **pressed** - If ``true`` the button's state is pressed. Means the button is pressed down or toggled (if toggle_mode is active).
 
 
   .. _class_BaseButton_shortcut:
   .. _class_BaseButton_shortcut:
 
 
-- :ref:`ShortCut<class_shortcut>` **shortcut**
+- :ref:`ShortCut<class_shortcut>` **shortcut** - Shortcut associated to the button.
 
 
   .. _class_BaseButton_toggle_mode:
   .. _class_BaseButton_toggle_mode:
 
 
-- :ref:`bool<class_bool>` **toggle_mode**
+- :ref:`bool<class_bool>` **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.
 
 
 
 
 Numeric Constants
 Numeric Constants
@@ -132,7 +132,7 @@ Numeric Constants
 Description
 Description
 -----------
 -----------
 
 
-BaseButton is the abstract base class for buttons, so it shouldn't be used directly (It doesn't display anything). Other types of buttons inherit from it.
+BaseButton is the abstract base class for buttons, so it shouldn't be used directly (it doesn't display anything). Other types of buttons inherit from it.
 
 
 Member Function Description
 Member Function Description
 ---------------------------
 ---------------------------

+ 2 - 2
classes/class_bitmapfont.rst

@@ -99,13 +99,13 @@ Adds a character to the font, where ``character`` is the unicode value, ``textur
 
 
 - void **add_kerning_pair** **(** :ref:`int<class_int>` char_a, :ref:`int<class_int>` char_b, :ref:`int<class_int>` kerning **)**
 - void **add_kerning_pair** **(** :ref:`int<class_int>` char_a, :ref:`int<class_int>` char_b, :ref:`int<class_int>` kerning **)**
 
 
-Adds a kerning pair to the :ref:`BitmapFont<class_bitmapfont>` as a difference. Kerning pairs are special cases where a typeface advance is determined by the next character.
+Adds a kerning pair to the ``BitmapFont`` as a difference. Kerning pairs are special cases where a typeface advance is determined by the next character.
 
 
 .. _class_BitmapFont_add_texture:
 .. _class_BitmapFont_add_texture:
 
 
 - void **add_texture** **(** :ref:`Texture<class_texture>` texture **)**
 - void **add_texture** **(** :ref:`Texture<class_texture>` texture **)**
 
 
-Adds a texture to the :ref:`BitmapFont<class_bitmapfont>`.
+Adds a texture to the ``BitmapFont``.
 
 
 .. _class_BitmapFont_clear:
 .. _class_BitmapFont_clear:
 
 

+ 11 - 11
classes/class_camera2d.rst

@@ -114,7 +114,7 @@ Member Variables
 
 
   .. _class_Camera2D_current:
   .. _class_Camera2D_current:
 
 
-- :ref:`bool<class_bool>` **current** - If ``true`` this 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.
+- :ref:`bool<class_bool>` **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.
 
 
   .. _class_Camera2D_drag_margin_bottom:
   .. _class_Camera2D_drag_margin_bottom:
 
 
@@ -122,7 +122,7 @@ Member Variables
 
 
   .. _class_Camera2D_drag_margin_h_enabled:
   .. _class_Camera2D_drag_margin_h_enabled:
 
 
-- :ref:`bool<class_bool>` **drag_margin_h_enabled**
+- :ref:`bool<class_bool>` **drag_margin_h_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``.
 
 
   .. _class_Camera2D_drag_margin_left:
   .. _class_Camera2D_drag_margin_left:
 
 
@@ -138,19 +138,19 @@ Member Variables
 
 
   .. _class_Camera2D_drag_margin_v_enabled:
   .. _class_Camera2D_drag_margin_v_enabled:
 
 
-- :ref:`bool<class_bool>` **drag_margin_v_enabled**
+- :ref:`bool<class_bool>` **drag_margin_v_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``.
 
 
   .. _class_Camera2D_editor_draw_drag_margin:
   .. _class_Camera2D_editor_draw_drag_margin:
 
 
-- :ref:`bool<class_bool>` **editor_draw_drag_margin**
+- :ref:`bool<class_bool>` **editor_draw_drag_margin** - If ``true`` draws the camera's drag margin rectangle in the editor. Default value: ``false``
 
 
   .. _class_Camera2D_editor_draw_limits:
   .. _class_Camera2D_editor_draw_limits:
 
 
-- :ref:`bool<class_bool>` **editor_draw_limits**
+- :ref:`bool<class_bool>` **editor_draw_limits** - If ``true`` draws the camera's limits rectangle in the editor. Default value: ``true``
 
 
   .. _class_Camera2D_editor_draw_screen:
   .. _class_Camera2D_editor_draw_screen:
 
 
-- :ref:`bool<class_bool>` **editor_draw_screen**
+- :ref:`bool<class_bool>` **editor_draw_screen** - If ``true`` draws the camera's screen rectangle in the editor. Default value: ``false``
 
 
   .. _class_Camera2D_limit_bottom:
   .. _class_Camera2D_limit_bottom:
 
 
@@ -166,7 +166,7 @@ Member Variables
 
 
   .. _class_Camera2D_limit_smoothed:
   .. _class_Camera2D_limit_smoothed:
 
 
-- :ref:`bool<class_bool>` **limit_smoothed**
+- :ref:`bool<class_bool>` **limit_smoothed** - If ``true`` the camera smoothly stops when reaches its limits. Default value: ``false``
 
 
   .. _class_Camera2D_limit_top:
   .. _class_Camera2D_limit_top:
 
 
@@ -178,15 +178,15 @@ Member Variables
 
 
   .. _class_Camera2D_rotating:
   .. _class_Camera2D_rotating:
 
 
-- :ref:`bool<class_bool>` **rotating**
+- :ref:`bool<class_bool>` **rotating** - If ``true`` the camera rotates with the target. Default value: ``false``
 
 
   .. _class_Camera2D_smoothing_enabled:
   .. _class_Camera2D_smoothing_enabled:
 
 
-- :ref:`bool<class_bool>` **smoothing_enabled**
+- :ref:`bool<class_bool>` **smoothing_enabled** - If ``true`` the camera smoothly moves towards the target at :ref:`smoothing_speed<class_Camera2D_smoothing_speed>`. Default value: ``false``
 
 
   .. _class_Camera2D_smoothing_speed:
   .. _class_Camera2D_smoothing_speed:
 
 
-- :ref:`float<class_float>` **smoothing_speed**
+- :ref:`float<class_float>` **smoothing_speed** - Speed in pixels per second of the camera's smoothing effect when :ref:`smoothing_enabled<class_Camera2D_smoothing_enabled>` is ``true``
 
 
   .. _class_Camera2D_zoom:
   .. _class_Camera2D_zoom:
 
 
@@ -196,8 +196,8 @@ Member Variables
 Numeric Constants
 Numeric Constants
 -----------------
 -----------------
 
 
-- **ANCHOR_MODE_DRAG_CENTER** = **1**
 - **ANCHOR_MODE_FIXED_TOP_LEFT** = **0**
 - **ANCHOR_MODE_FIXED_TOP_LEFT** = **0**
+- **ANCHOR_MODE_DRAG_CENTER** = **1**
 
 
 Description
 Description
 -----------
 -----------

+ 1 - 1
classes/class_canvasitem.rst

@@ -215,11 +215,11 @@ Numeric Constants
 - **BLEND_MODE_SUB** = **2** --- Subtractive blending mode.
 - **BLEND_MODE_SUB** = **2** --- Subtractive blending mode.
 - **BLEND_MODE_MUL** = **3** --- Multiplicative blending mode.
 - **BLEND_MODE_MUL** = **3** --- Multiplicative blending mode.
 - **BLEND_MODE_PREMULT_ALPHA** = **4** --- Mix blending mode. Colors are assumed to be premultiplied by the alpha (opacity) value.
 - **BLEND_MODE_PREMULT_ALPHA** = **4** --- Mix blending mode. Colors are assumed to be premultiplied by the alpha (opacity) value.
+- **NOTIFICATION_TRANSFORM_CHANGED** = **29** --- Canvas item transform has changed. Only received if requested.
 - **NOTIFICATION_DRAW** = **30** --- CanvasItem is requested to draw.
 - **NOTIFICATION_DRAW** = **30** --- CanvasItem is requested to draw.
 - **NOTIFICATION_VISIBILITY_CHANGED** = **31** --- Canvas item visibility has changed.
 - **NOTIFICATION_VISIBILITY_CHANGED** = **31** --- Canvas item visibility has changed.
 - **NOTIFICATION_ENTER_CANVAS** = **32** --- Canvas item has entered the canvas.
 - **NOTIFICATION_ENTER_CANVAS** = **32** --- Canvas item has entered the canvas.
 - **NOTIFICATION_EXIT_CANVAS** = **33** --- Canvas item has exited the canvas.
 - **NOTIFICATION_EXIT_CANVAS** = **33** --- Canvas item has exited the canvas.
-- **NOTIFICATION_TRANSFORM_CHANGED** = **29** --- Canvas item transform has changed. Only received if requested.
 
 
 Description
 Description
 -----------
 -----------

+ 1 - 1
classes/class_canvaslayer.rst

@@ -76,7 +76,7 @@ Member Variables
 Description
 Description
 -----------
 -----------
 
 
-Canvas drawing layer. :ref:`CanvasItem<class_canvasitem>` nodes that are direct or indirect children of a :ref:`CanvasLayer<class_canvaslayer>` will be drawn in that layer. The layer is a numeric index that defines the draw order. The default 2D scene renders with index 0, so a :ref:`CanvasLayer<class_canvaslayer>` with index -1 will be drawn below, and one with index 1 will be drawn above. This is very useful for HUDs (in layer 1+ or above), or backgrounds (in layer -1 or below).
+Canvas drawing layer. :ref:`CanvasItem<class_canvasitem>` nodes that are direct or indirect children of a ``CanvasLayer`` will be drawn in that layer. The layer is a numeric index that defines the draw order. The default 2D scene renders with index 0, so a ``CanvasLayer`` with index -1 will be drawn below, and one with index 1 will be drawn above. This is very useful for HUDs (in layer 1+ or above), or backgrounds (in layer -1 or below).
 
 
 Member Function Description
 Member Function Description
 ---------------------------
 ---------------------------

+ 4 - 4
classes/class_capsuleshape2d.rst

@@ -53,24 +53,24 @@ Member Function Description
 
 
 - :ref:`float<class_float>` **get_height** **(** **)** const
 - :ref:`float<class_float>` **get_height** **(** **)** const
 
 
-Return the height of the :ref:`CapsuleShape2D<class_capsuleshape2d>`.
+Return the height of the ``CapsuleShape2D``.
 
 
 .. _class_CapsuleShape2D_get_radius:
 .. _class_CapsuleShape2D_get_radius:
 
 
 - :ref:`float<class_float>` **get_radius** **(** **)** const
 - :ref:`float<class_float>` **get_radius** **(** **)** const
 
 
-Return the radius of the :ref:`CapsuleShape2D<class_capsuleshape2d>`.
+Return the radius of the ``CapsuleShape2D``.
 
 
 .. _class_CapsuleShape2D_set_height:
 .. _class_CapsuleShape2D_set_height:
 
 
 - void **set_height** **(** :ref:`float<class_float>` height **)**
 - void **set_height** **(** :ref:`float<class_float>` height **)**
 
 
-Set the height of the :ref:`CapsuleShape2D<class_capsuleshape2d>`.
+Set the height of the ``CapsuleShape2D``.
 
 
 .. _class_CapsuleShape2D_set_radius:
 .. _class_CapsuleShape2D_set_radius:
 
 
 - void **set_radius** **(** :ref:`float<class_float>` radius **)**
 - void **set_radius** **(** :ref:`float<class_float>` radius **)**
 
 
-Set the radius of the :ref:`CapsuleShape2D<class_capsuleshape2d>`.
+Set the radius of the ``CapsuleShape2D``.
 
 
 
 

+ 1 - 1
classes/class_concavepolygonshape2d.rst

@@ -38,7 +38,7 @@ Description
 
 
 Concave polygon 2D shape resource for physics. It is made out of segments and is very optimal for complex polygonal concave collisions. It is really not advised to use for :ref:`RigidBody2D<class_rigidbody2d>` nodes. A CollisionPolygon2D in convex decomposition mode (solids) or several convex objects are advised for that instead. Otherwise, a concave polygon 2D shape is better for static collisions.
 Concave polygon 2D shape resource for physics. It is made out of segments and is very optimal for complex polygonal concave collisions. It is really not advised to use for :ref:`RigidBody2D<class_rigidbody2d>` nodes. A CollisionPolygon2D in convex decomposition mode (solids) or several convex objects are advised for that instead. Otherwise, a concave polygon 2D shape is better for static collisions.
 
 
-The main difference between a :ref:`ConvexPolygonShape2D<class_convexpolygonshape2d>` and a :ref:`ConcavePolygonShape2D<class_concavepolygonshape2d>` is that a concave polygon assumes it is concave and uses a more complex method of collision detection, and a convex one forces itself to be convex in order to speed up collision detection.
+The main difference between a :ref:`ConvexPolygonShape2D<class_convexpolygonshape2d>` and a ``ConcavePolygonShape2D`` is that a concave polygon assumes it is concave and uses a more complex method of collision detection, and a convex one forces itself to be convex in order to speed up collision detection.
 
 
 Member Function Description
 Member Function Description
 ---------------------------
 ---------------------------

+ 2 - 2
classes/class_conetwistjoint.rst

@@ -48,7 +48,7 @@ The higher, the faster.
 
 
 The swing span defines, how much rotation will not get corrected allong the swing axis.
 The swing span defines, how much rotation will not get corrected allong the swing axis.
 
 
-Could be defined as looseness in the :ref:`ConeTwistJoint<class_conetwistjoint>`.
+Could be defined as looseness in the ``ConeTwistJoint``.
 
 
 If below 0.05, this behaviour is locked. Default value: ``PI/4``.
 If below 0.05, this behaviour is locked. Default value: ``PI/4``.
 
 
@@ -66,7 +66,7 @@ Numeric Constants
 
 
 The swing span defines, how much rotation will not get corrected allong the swing axis.
 The swing span defines, how much rotation will not get corrected allong the swing axis.
 
 
-Could be defined as looseness in the :ref:`ConeTwistJoint<class_conetwistjoint>`.
+Could be defined as looseness in the ``ConeTwistJoint``.
 
 
 If below 0.05, this behaviour is locked. Default value: ``PI/4``.
 If below 0.05, this behaviour is locked. Default value: ``PI/4``.
 - **PARAM_TWIST_SPAN** = **1** --- Twist is the rotation around the twist axis, this value defined how far the joint can twist.
 - **PARAM_TWIST_SPAN** = **1** --- Twist is the rotation around the twist axis, this value defined how far the joint can twist.

+ 1 - 1
classes/class_container.rst

@@ -45,7 +45,7 @@ Numeric Constants
 Description
 Description
 -----------
 -----------
 
 
-Base node for containers. A :ref:`Container<class_container>` contains other controls and automatically arranges them in a certain way.
+Base node for containers. A ``Container`` contains other controls and automatically arranges them in a certain way.
 
 
 A Control can inherit this to create custom container classes.
 A Control can inherit this to create custom container classes.
 
 

+ 2 - 2
classes/class_control.rst

@@ -440,11 +440,11 @@ Numeric Constants
 - **PRESET_HCENTER_WIDE** = **14** --- Snap all 4 anchors to a horizontal line that cuts the parent container in half. Use with :ref:`set_anchors_preset<class_Control_set_anchors_preset>`.
 - **PRESET_HCENTER_WIDE** = **14** --- Snap all 4 anchors to a horizontal line that cuts the parent container in half. Use with :ref:`set_anchors_preset<class_Control_set_anchors_preset>`.
 - **PRESET_WIDE** = **15** --- Snap all 4 anchors to the respective corners of the parent container. Set all 4 margins to 0 after you applied this preset and the ``Control`` will fit its parent container. Use with :ref:`set_anchors_preset<class_Control_set_anchors_preset>`.
 - **PRESET_WIDE** = **15** --- Snap all 4 anchors to the respective corners of the parent container. Set all 4 margins to 0 after you applied this preset and the ``Control`` will fit its parent container. Use with :ref:`set_anchors_preset<class_Control_set_anchors_preset>`.
 - **PRESET_MODE_MINSIZE** = **0**
 - **PRESET_MODE_MINSIZE** = **0**
-- **PRESET_MODE_KEEP_HEIGHT** = **2**
 - **PRESET_MODE_KEEP_WIDTH** = **1**
 - **PRESET_MODE_KEEP_WIDTH** = **1**
+- **PRESET_MODE_KEEP_HEIGHT** = **2**
 - **PRESET_MODE_KEEP_SIZE** = **3**
 - **PRESET_MODE_KEEP_SIZE** = **3**
-- **SIZE_EXPAND** = **2** --- Tells the parent :ref:`Container<class_container>` to let this node take all the available space on the axis you flag. If multiple neighboring nodes are set to expand, they'll share the space based on their stretch ratio. See :ref:`size_flags_stretch_ratio<class_Control_size_flags_stretch_ratio>`. Use with :ref:`size_flags_horizontal<class_Control_size_flags_horizontal>` and :ref:`size_flags_vertical<class_Control_size_flags_vertical>`.
 - **SIZE_FILL** = **1** --- Tells the parent :ref:`Container<class_container>` to expand the bounds of this node to fill all the available space without pushing any other node. Use with :ref:`size_flags_horizontal<class_Control_size_flags_horizontal>` and :ref:`size_flags_vertical<class_Control_size_flags_vertical>`.
 - **SIZE_FILL** = **1** --- Tells the parent :ref:`Container<class_container>` to expand the bounds of this node to fill all the available space without pushing any other node. Use with :ref:`size_flags_horizontal<class_Control_size_flags_horizontal>` and :ref:`size_flags_vertical<class_Control_size_flags_vertical>`.
+- **SIZE_EXPAND** = **2** --- Tells the parent :ref:`Container<class_container>` to let this node take all the available space on the axis you flag. If multiple neighboring nodes are set to expand, they'll share the space based on their stretch ratio. See :ref:`size_flags_stretch_ratio<class_Control_size_flags_stretch_ratio>`. Use with :ref:`size_flags_horizontal<class_Control_size_flags_horizontal>` and :ref:`size_flags_vertical<class_Control_size_flags_vertical>`.
 - **SIZE_EXPAND_FILL** = **3** --- Sets the node's size flags to both fill and expand. See the 2 constants above for more information.
 - **SIZE_EXPAND_FILL** = **3** --- Sets the node's size flags to both fill and expand. See the 2 constants above for more information.
 - **SIZE_SHRINK_CENTER** = **4** --- Tells the parent :ref:`Container<class_container>` to center the node in itself. It centers the ``Control`` based on its bounding box, so it doesn't work with the fill or expand size flags. Use with :ref:`size_flags_horizontal<class_Control_size_flags_horizontal>` and :ref:`size_flags_vertical<class_Control_size_flags_vertical>`.
 - **SIZE_SHRINK_CENTER** = **4** --- Tells the parent :ref:`Container<class_container>` to center the node in itself. It centers the ``Control`` based on its bounding box, so it doesn't work with the fill or expand size flags. Use with :ref:`size_flags_horizontal<class_Control_size_flags_horizontal>` and :ref:`size_flags_vertical<class_Control_size_flags_vertical>`.
 - **SIZE_SHRINK_END** = **8** --- Tells the parent :ref:`Container<class_container>` to align the node with its end, either the bottom or the right edge. It doesn't work with the fill or expand size flags. Use with :ref:`size_flags_horizontal<class_Control_size_flags_horizontal>` and :ref:`size_flags_vertical<class_Control_size_flags_vertical>`.
 - **SIZE_SHRINK_END** = **8** --- Tells the parent :ref:`Container<class_container>` to align the node with its end, either the bottom or the right edge. It doesn't work with the fill or expand size flags. Use with :ref:`size_flags_horizontal<class_Control_size_flags_horizontal>` and :ref:`size_flags_vertical<class_Control_size_flags_vertical>`.

+ 1 - 1
classes/class_convexpolygonshape2d.rst

@@ -40,7 +40,7 @@ Description
 
 
 Convex Polygon Shape for 2D physics. A convex polygon, whatever its shape, is internally decomposed into as many convex polygons as needed to ensure all collision checks against it are always done on convex polygons (which are faster to check).
 Convex Polygon Shape for 2D physics. A convex polygon, whatever its shape, is internally decomposed into as many convex polygons as needed to ensure all collision checks against it are always done on convex polygons (which are faster to check).
 
 
-The main difference between a :ref:`ConvexPolygonShape2D<class_convexpolygonshape2d>` and a :ref:`ConcavePolygonShape2D<class_concavepolygonshape2d>` is that a concave polygon assumes it is concave and uses a more complex method of collision detection, and a convex one forces itself to be convex in order to speed up collision detection.
+The main difference between a ``ConvexPolygonShape2D`` and a :ref:`ConcavePolygonShape2D<class_concavepolygonshape2d>` is that a concave polygon assumes it is concave and uses a more complex method of collision detection, and a convex one forces itself to be convex in order to speed up collision detection.
 
 
 Member Function Description
 Member Function Description
 ---------------------------
 ---------------------------

+ 26 - 1
classes/class_cubemap.rst

@@ -14,7 +14,7 @@ CubeMap
 Brief Description
 Brief Description
 -----------------
 -----------------
 
 
-
+A CubeMap is a 6 sided 3D texture.
 
 
 Member Functions
 Member Functions
 ----------------
 ----------------
@@ -41,6 +41,18 @@ Member Functions
 | void                       | :ref:`set_storage<class_CubeMap_set_storage>` **(** :ref:`int<class_int>` mode **)**                                    |
 | void                       | :ref:`set_storage<class_CubeMap_set_storage>` **(** :ref:`int<class_int>` mode **)**                                    |
 +----------------------------+-------------------------------------------------------------------------------------------------------------------------+
 +----------------------------+-------------------------------------------------------------------------------------------------------------------------+
 
 
+Member Variables
+----------------
+
+  .. _class_CubeMap_lossy_storage_quality:
+
+- :ref:`float<class_float>` **lossy_storage_quality** - The lossy storage quality of the CubeMap if the storage mode is set to STORAGE_COMPRESS_LOSSY.
+
+  .. _class_CubeMap_storage_mode:
+
+- :ref:`int<class_int>` **storage_mode** - The CubeMap's storage mode. See ``STORAGE\_\*`` constants.
+
+
 Numeric Constants
 Numeric Constants
 -----------------
 -----------------
 
 
@@ -58,6 +70,11 @@ Numeric Constants
 - **FLAG_FILTER** = **4**
 - **FLAG_FILTER** = **4**
 - **FLAGS_DEFAULT** = **7**
 - **FLAGS_DEFAULT** = **7**
 
 
+Description
+-----------
+
+A CubeMap is a 6 sided 3D texture typically used for faking reflections. It can be used to make an object look as if it's reflecting its surroundings. This usually delivers much better performance than other reflection methods.
+
 Member Function Description
 Member Function Description
 ---------------------------
 ---------------------------
 
 
@@ -69,6 +86,8 @@ Member Function Description
 
 
 - :ref:`int<class_int>` **get_height** **(** **)** const
 - :ref:`int<class_int>` **get_height** **(** **)** const
 
 
+Returns the CubeMap's height.
+
 .. _class_CubeMap_get_lossy_storage_quality:
 .. _class_CubeMap_get_lossy_storage_quality:
 
 
 - :ref:`float<class_float>` **get_lossy_storage_quality** **(** **)** const
 - :ref:`float<class_float>` **get_lossy_storage_quality** **(** **)** const
@@ -77,6 +96,8 @@ Member Function Description
 
 
 - :ref:`Image<class_image>` **get_side** **(** :ref:`int<class_int>` side **)** const
 - :ref:`Image<class_image>` **get_side** **(** :ref:`int<class_int>` side **)** const
 
 
+Returns an :ref:`Image<class_image>` for a side of the CubeMap using one of the ``SIDE\_\*`` constants or an integer 0-5.
+
 .. _class_CubeMap_get_storage:
 .. _class_CubeMap_get_storage:
 
 
 - :ref:`int<class_int>` **get_storage** **(** **)** const
 - :ref:`int<class_int>` **get_storage** **(** **)** const
@@ -85,6 +106,8 @@ Member Function Description
 
 
 - :ref:`int<class_int>` **get_width** **(** **)** const
 - :ref:`int<class_int>` **get_width** **(** **)** const
 
 
+Returns the CubeMap's width.
+
 .. _class_CubeMap_set_flags:
 .. _class_CubeMap_set_flags:
 
 
 - void **set_flags** **(** :ref:`int<class_int>` flags **)**
 - void **set_flags** **(** :ref:`int<class_int>` flags **)**
@@ -97,6 +120,8 @@ Member Function Description
 
 
 - void **set_side** **(** :ref:`int<class_int>` side, :ref:`Image<class_image>` image **)**
 - void **set_side** **(** :ref:`int<class_int>` side, :ref:`Image<class_image>` image **)**
 
 
+Sets an :ref:`Image<class_image>` for a side of the CubeMap using one of the ``SIDE\_\*`` constants or an integer 0-5.
+
 .. _class_CubeMap_set_storage:
 .. _class_CubeMap_set_storage:
 
 
 - void **set_storage** **(** :ref:`int<class_int>` mode **)**
 - void **set_storage** **(** :ref:`int<class_int>` mode **)**

+ 4 - 2
classes/class_curve2d.rst

@@ -62,11 +62,11 @@ Member Variables
 
 
   .. _class_Curve2D__data:
   .. _class_Curve2D__data:
 
 
-- :ref:`Dictionary<class_dictionary>` **_data**
+- :ref:`Dictionary<class_dictionary>` **_data** - The points describing the curve. Value is a :ref:`Dictionary<class_dictionary>` with the keys ``in``, ``out``, and ``pos``. The key pos is the position of a vertex of the curve, the key in is the vector from that position to the control point before this vertex, the key out is the vector from that position to the controlpoint after this vertex.
 
 
   .. _class_Curve2D_bake_interval:
   .. _class_Curve2D_bake_interval:
 
 
-- :ref:`float<class_float>` **bake_interval**
+- :ref:`float<class_float>` **bake_interval** - The distance in pixels between two adjacent cached points. Changing it forces the cache to be recomputed the next time the :ref:`get_baked_points<class_Curve2D_get_baked_points>` or :ref:`get_baked_length<class_Curve2D_get_baked_length>` function is called. The smaller the distance, the more points in the cache and the more memory it will consume, so use with care.
 
 
 
 
 Description
 Description
@@ -91,6 +91,8 @@ If "at_position" is given, the point is inserted before the point number "at_pos
 
 
 - void **clear_points** **(** **)**
 - void **clear_points** **(** **)**
 
 
+Removes all points from the curve.
+
 .. _class_Curve2D_get_bake_interval:
 .. _class_Curve2D_get_bake_interval:
 
 
 - :ref:`float<class_float>` **get_bake_interval** **(** **)** const
 - :ref:`float<class_float>` **get_bake_interval** **(** **)** const

+ 4 - 4
classes/class_dampedspringjoint2d.rst

@@ -42,19 +42,19 @@ Member Variables
 
 
   .. _class_DampedSpringJoint2D_damping:
   .. _class_DampedSpringJoint2D_damping:
 
 
-- :ref:`float<class_float>` **damping**
+- :ref:`float<class_float>` **damping** - The spring joint's damping ratio. A value between ``0`` and ``1``. When the two bodies move into different directions the system tries to align them to the spring axis again. A high ``damping`` value forces the attached bodies to align faster. Default value: ``1``
 
 
   .. _class_DampedSpringJoint2D_length:
   .. _class_DampedSpringJoint2D_length:
 
 
-- :ref:`float<class_float>` **length**
+- :ref:`float<class_float>` **length** - The spring joint's maximum length. The two attached bodies cannot stretch it past this value. Default value: ``50``
 
 
   .. _class_DampedSpringJoint2D_rest_length:
   .. _class_DampedSpringJoint2D_rest_length:
 
 
-- :ref:`float<class_float>` **rest_length**
+- :ref:`float<class_float>` **rest_length** - When the bodies attached to the spring joint move they stretch or squash it. The joint always tries to resize towards this length. Default value: ``0``
 
 
   .. _class_DampedSpringJoint2D_stiffness:
   .. _class_DampedSpringJoint2D_stiffness:
 
 
-- :ref:`float<class_float>` **stiffness**
+- :ref:`float<class_float>` **stiffness** - The higher the value, the less the bodies attached to the joint will deform it. The joint applies an opposing force to the bodies, the product of the stiffness multiplied by the size difference from its resting length. Default value: ``20``
 
 
 
 
 Description
 Description

+ 2 - 2
classes/class_dictionary.rst

@@ -85,7 +85,7 @@ Return a hashed integer value representing the dictionary contents.
 
 
 - :ref:`Array<class_array>` **keys** **(** **)**
 - :ref:`Array<class_array>` **keys** **(** **)**
 
 
-Return the list of keys in the :ref:`Dictionary<class_dictionary>`.
+Return the list of keys in the ``Dictionary``.
 
 
 .. _class_Dictionary_size:
 .. _class_Dictionary_size:
 
 
@@ -97,6 +97,6 @@ Return the size of the dictionary (in pairs).
 
 
 - :ref:`Array<class_array>` **values** **(** **)**
 - :ref:`Array<class_array>` **values** **(** **)**
 
 
-Return the list of values in the :ref:`Dictionary<class_dictionary>`.
+Return the list of values in the ``Dictionary``.
 
 
 
 

+ 2 - 2
classes/class_editorimportplugin.rst

@@ -86,8 +86,8 @@ Below is an example EditorImportPlugin that imports a :ref:`Mesh<class_mesh>` fr
         return [{"name": "my_option", "default_value": false}]
         return [{"name": "my_option", "default_value": false}]
     
     
     func load(src, dst, opts, r_platform_variants, r_gen_files):
     func load(src, dst, opts, r_platform_variants, r_gen_files):
-        var f = File.new()
-        if f.open(src, File.READ) != OK:
+        var file = File.new()
+        if file.open(src, File.READ) != OK:
             return FAILED
             return FAILED
     
     
         var mesh = Mesh.new()
         var mesh = Mesh.new()

+ 1 - 0
classes/class_editorplugin.rst

@@ -124,6 +124,7 @@ Numeric Constants
 - **CONTAINER_SPATIAL_EDITOR_BOTTOM** = **3**
 - **CONTAINER_SPATIAL_EDITOR_BOTTOM** = **3**
 - **CONTAINER_CANVAS_EDITOR_MENU** = **4**
 - **CONTAINER_CANVAS_EDITOR_MENU** = **4**
 - **CONTAINER_CANVAS_EDITOR_SIDE** = **5**
 - **CONTAINER_CANVAS_EDITOR_SIDE** = **5**
+- **CONTAINER_CANVAS_EDITOR_BOTTOM** = **6**
 - **CONTAINER_PROPERTY_EDITOR_BOTTOM** = **7**
 - **CONTAINER_PROPERTY_EDITOR_BOTTOM** = **7**
 - **DOCK_SLOT_LEFT_UL** = **0**
 - **DOCK_SLOT_LEFT_UL** = **0**
 - **DOCK_SLOT_LEFT_BL** = **1**
 - **DOCK_SLOT_LEFT_BL** = **1**

+ 2 - 2
classes/class_editorscript.rst

@@ -42,9 +42,9 @@ Example script:
     extends EditorScript
     extends EditorScript
     
     
     func _run():
     func _run():
-    print("Hello from the Godot Editor!")
+        print("Hello from the Godot Editor!")
 
 
-Note that the script is run in the Editor context, which means the output is visible in the console window started with the Editor (STDOUT) instead of the usual Godot \*Output\* dock.
+Note that the script is run in the Editor context, which means the output is visible in the console window started with the Editor (STDOUT) instead of the usual Godot *Output* dock.
 
 
 Member Function Description
 Member Function Description
 ---------------------------
 ---------------------------

+ 1 - 1
classes/class_engine.rst

@@ -50,7 +50,7 @@ Member Functions
 Description
 Description
 -----------
 -----------
 
 
-The :ref:`Engine<class_engine>` class allows you to query and modify the game's run-time parameters, such as frames per second, time scale, and others.
+The ``Engine`` class allows you to query and modify the game's run-time parameters, such as frames per second, time scale, and others.
 
 
 Member Function Description
 Member Function Description
 ---------------------------
 ---------------------------

+ 48 - 9
classes/class_environment.rst

@@ -94,14 +94,20 @@ Member Functions
 +--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`float<class_float>`      | :ref:`get_ssao_bias<class_Environment_get_ssao_bias>` **(** **)** const                                                                              |
 | :ref:`float<class_float>`      | :ref:`get_ssao_bias<class_Environment_get_ssao_bias>` **(** **)** const                                                                              |
 +--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`          | :ref:`get_ssao_blur<class_Environment_get_ssao_blur>` **(** **)** const                                                                              |
++--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`Color<class_color>`      | :ref:`get_ssao_color<class_Environment_get_ssao_color>` **(** **)** const                                                                            |
 | :ref:`Color<class_color>`      | :ref:`get_ssao_color<class_Environment_get_ssao_color>` **(** **)** const                                                                            |
 +--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`float<class_float>`      | :ref:`get_ssao_direct_light_affect<class_Environment_get_ssao_direct_light_affect>` **(** **)** const                                                |
 | :ref:`float<class_float>`      | :ref:`get_ssao_direct_light_affect<class_Environment_get_ssao_direct_light_affect>` **(** **)** const                                                |
 +--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`      | :ref:`get_ssao_edge_sharpness<class_Environment_get_ssao_edge_sharpness>` **(** **)** const                                                          |
++--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`float<class_float>`      | :ref:`get_ssao_intensity<class_Environment_get_ssao_intensity>` **(** **)** const                                                                    |
 | :ref:`float<class_float>`      | :ref:`get_ssao_intensity<class_Environment_get_ssao_intensity>` **(** **)** const                                                                    |
 +--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`float<class_float>`      | :ref:`get_ssao_intensity2<class_Environment_get_ssao_intensity2>` **(** **)** const                                                                  |
 | :ref:`float<class_float>`      | :ref:`get_ssao_intensity2<class_Environment_get_ssao_intensity2>` **(** **)** const                                                                  |
 +--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`          | :ref:`get_ssao_quality<class_Environment_get_ssao_quality>` **(** **)** const                                                                        |
++--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`float<class_float>`      | :ref:`get_ssao_radius<class_Environment_get_ssao_radius>` **(** **)** const                                                                          |
 | :ref:`float<class_float>`      | :ref:`get_ssao_radius<class_Environment_get_ssao_radius>` **(** **)** const                                                                          |
 +--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`float<class_float>`      | :ref:`get_ssao_radius2<class_Environment_get_ssao_radius2>` **(** **)** const                                                                        |
 | :ref:`float<class_float>`      | :ref:`get_ssao_radius2<class_Environment_get_ssao_radius2>` **(** **)** const                                                                        |
@@ -150,8 +156,6 @@ Member Functions
 +--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`bool<class_bool>`        | :ref:`is_glow_level_enabled<class_Environment_is_glow_level_enabled>` **(** :ref:`int<class_int>` idx **)** const                                    |
 | :ref:`bool<class_bool>`        | :ref:`is_glow_level_enabled<class_Environment_is_glow_level_enabled>` **(** :ref:`int<class_int>` idx **)** const                                    |
 +--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`        | :ref:`is_ssao_blur_enabled<class_Environment_is_ssao_blur_enabled>` **(** **)** const                                                                |
-+--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`bool<class_bool>`        | :ref:`is_ssao_enabled<class_Environment_is_ssao_enabled>` **(** **)** const                                                                          |
 | :ref:`bool<class_bool>`        | :ref:`is_ssao_enabled<class_Environment_is_ssao_enabled>` **(** **)** const                                                                          |
 +--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`bool<class_bool>`        | :ref:`is_ssr_enabled<class_Environment_is_ssr_enabled>` **(** **)** const                                                                            |
 | :ref:`bool<class_bool>`        | :ref:`is_ssr_enabled<class_Environment_is_ssr_enabled>` **(** **)** const                                                                            |
@@ -252,18 +256,22 @@ Member Functions
 +--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                           | :ref:`set_ssao_bias<class_Environment_set_ssao_bias>` **(** :ref:`float<class_float>` bias **)**                                                     |
 | void                           | :ref:`set_ssao_bias<class_Environment_set_ssao_bias>` **(** :ref:`float<class_float>` bias **)**                                                     |
 +--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                           | :ref:`set_ssao_blur<class_Environment_set_ssao_blur>` **(** :ref:`bool<class_bool>` enabled **)**                                                    |
+| void                           | :ref:`set_ssao_blur<class_Environment_set_ssao_blur>` **(** :ref:`int<class_int>` mode **)**                                                         |
 +--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                           | :ref:`set_ssao_color<class_Environment_set_ssao_color>` **(** :ref:`Color<class_color>` color **)**                                                  |
 | void                           | :ref:`set_ssao_color<class_Environment_set_ssao_color>` **(** :ref:`Color<class_color>` color **)**                                                  |
 +--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                           | :ref:`set_ssao_direct_light_affect<class_Environment_set_ssao_direct_light_affect>` **(** :ref:`float<class_float>` amount **)**                     |
 | void                           | :ref:`set_ssao_direct_light_affect<class_Environment_set_ssao_direct_light_affect>` **(** :ref:`float<class_float>` amount **)**                     |
 +--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                           | :ref:`set_ssao_edge_sharpness<class_Environment_set_ssao_edge_sharpness>` **(** :ref:`float<class_float>` edge_sharpness **)**                       |
++--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                           | :ref:`set_ssao_enabled<class_Environment_set_ssao_enabled>` **(** :ref:`bool<class_bool>` enabled **)**                                              |
 | void                           | :ref:`set_ssao_enabled<class_Environment_set_ssao_enabled>` **(** :ref:`bool<class_bool>` enabled **)**                                              |
 +--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                           | :ref:`set_ssao_intensity<class_Environment_set_ssao_intensity>` **(** :ref:`float<class_float>` intensity **)**                                      |
 | void                           | :ref:`set_ssao_intensity<class_Environment_set_ssao_intensity>` **(** :ref:`float<class_float>` intensity **)**                                      |
 +--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                           | :ref:`set_ssao_intensity2<class_Environment_set_ssao_intensity2>` **(** :ref:`float<class_float>` intensity **)**                                    |
 | void                           | :ref:`set_ssao_intensity2<class_Environment_set_ssao_intensity2>` **(** :ref:`float<class_float>` intensity **)**                                    |
 +--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                           | :ref:`set_ssao_quality<class_Environment_set_ssao_quality>` **(** :ref:`int<class_int>` quality **)**                                                |
++--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                           | :ref:`set_ssao_radius<class_Environment_set_ssao_radius>` **(** :ref:`float<class_float>` radius **)**                                               |
 | void                           | :ref:`set_ssao_radius<class_Environment_set_ssao_radius>` **(** :ref:`float<class_float>` radius **)**                                               |
 +--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                           | :ref:`set_ssao_radius2<class_Environment_set_ssao_radius2>` **(** :ref:`float<class_float>` radius **)**                                             |
 | void                           | :ref:`set_ssao_radius2<class_Environment_set_ssao_radius2>` **(** :ref:`float<class_float>` radius **)**                                             |
@@ -558,12 +566,16 @@ Member Variables
 
 
   .. _class_Environment_ssao_blur:
   .. _class_Environment_ssao_blur:
 
 
-- :ref:`bool<class_bool>` **ssao_blur**
+- :ref:`int<class_int>` **ssao_blur**
 
 
   .. _class_Environment_ssao_color:
   .. _class_Environment_ssao_color:
 
 
 - :ref:`Color<class_color>` **ssao_color**
 - :ref:`Color<class_color>` **ssao_color**
 
 
+  .. _class_Environment_ssao_edge_sharpness:
+
+- :ref:`float<class_float>` **ssao_edge_sharpness**
+
   .. _class_Environment_ssao_enabled:
   .. _class_Environment_ssao_enabled:
 
 
 - :ref:`bool<class_bool>` **ssao_enabled**
 - :ref:`bool<class_bool>` **ssao_enabled**
@@ -580,6 +592,10 @@ Member Variables
 
 
 - :ref:`float<class_float>` **ssao_light_affect**
 - :ref:`float<class_float>` **ssao_light_affect**
 
 
+  .. _class_Environment_ssao_quality:
+
+- :ref:`int<class_int>` **ssao_quality**
+
   .. _class_Environment_ssao_radius:
   .. _class_Environment_ssao_radius:
 
 
 - :ref:`float<class_float>` **ssao_radius**
 - :ref:`float<class_float>` **ssao_radius**
@@ -622,6 +638,13 @@ Numeric Constants
 - **DOF_BLUR_QUALITY_LOW** = **0** --- Low depth-of-field blur quality.
 - **DOF_BLUR_QUALITY_LOW** = **0** --- Low depth-of-field blur quality.
 - **DOF_BLUR_QUALITY_MEDIUM** = **1** --- Medium depth-of-field blur quality.
 - **DOF_BLUR_QUALITY_MEDIUM** = **1** --- Medium depth-of-field blur quality.
 - **DOF_BLUR_QUALITY_HIGH** = **2** --- High depth-of-field blur quality.
 - **DOF_BLUR_QUALITY_HIGH** = **2** --- High depth-of-field blur quality.
+- **SSAO_BLUR_DISABLED** = **0**
+- **SSAO_BLUR_1x1** = **1**
+- **SSAO_BLUR_2x2** = **2**
+- **SSAO_BLUR_3x3** = **3**
+- **SSAO_QUALITY_LOW** = **0**
+- **SSAO_QUALITY_MEDIUM** = **1**
+- **SSAO_QUALITY_HIGH** = **2**
 
 
 Description
 Description
 -----------
 -----------
@@ -789,6 +812,10 @@ Member Function Description
 
 
 - :ref:`float<class_float>` **get_ssao_bias** **(** **)** const
 - :ref:`float<class_float>` **get_ssao_bias** **(** **)** const
 
 
+.. _class_Environment_get_ssao_blur:
+
+- :ref:`int<class_int>` **get_ssao_blur** **(** **)** const
+
 .. _class_Environment_get_ssao_color:
 .. _class_Environment_get_ssao_color:
 
 
 - :ref:`Color<class_color>` **get_ssao_color** **(** **)** const
 - :ref:`Color<class_color>` **get_ssao_color** **(** **)** const
@@ -797,6 +824,10 @@ Member Function Description
 
 
 - :ref:`float<class_float>` **get_ssao_direct_light_affect** **(** **)** const
 - :ref:`float<class_float>` **get_ssao_direct_light_affect** **(** **)** const
 
 
+.. _class_Environment_get_ssao_edge_sharpness:
+
+- :ref:`float<class_float>` **get_ssao_edge_sharpness** **(** **)** const
+
 .. _class_Environment_get_ssao_intensity:
 .. _class_Environment_get_ssao_intensity:
 
 
 - :ref:`float<class_float>` **get_ssao_intensity** **(** **)** const
 - :ref:`float<class_float>` **get_ssao_intensity** **(** **)** const
@@ -805,6 +836,10 @@ Member Function Description
 
 
 - :ref:`float<class_float>` **get_ssao_intensity2** **(** **)** const
 - :ref:`float<class_float>` **get_ssao_intensity2** **(** **)** const
 
 
+.. _class_Environment_get_ssao_quality:
+
+- :ref:`int<class_int>` **get_ssao_quality** **(** **)** const
+
 .. _class_Environment_get_ssao_radius:
 .. _class_Environment_get_ssao_radius:
 
 
 - :ref:`float<class_float>` **get_ssao_radius** **(** **)** const
 - :ref:`float<class_float>` **get_ssao_radius** **(** **)** const
@@ -901,10 +936,6 @@ Member Function Description
 
 
 - :ref:`bool<class_bool>` **is_glow_level_enabled** **(** :ref:`int<class_int>` idx **)** const
 - :ref:`bool<class_bool>` **is_glow_level_enabled** **(** :ref:`int<class_int>` idx **)** const
 
 
-.. _class_Environment_is_ssao_blur_enabled:
-
-- :ref:`bool<class_bool>` **is_ssao_blur_enabled** **(** **)** const
-
 .. _class_Environment_is_ssao_enabled:
 .. _class_Environment_is_ssao_enabled:
 
 
 - :ref:`bool<class_bool>` **is_ssao_enabled** **(** **)** const
 - :ref:`bool<class_bool>` **is_ssao_enabled** **(** **)** const
@@ -1107,7 +1138,7 @@ Member Function Description
 
 
 .. _class_Environment_set_ssao_blur:
 .. _class_Environment_set_ssao_blur:
 
 
-- void **set_ssao_blur** **(** :ref:`bool<class_bool>` enabled **)**
+- void **set_ssao_blur** **(** :ref:`int<class_int>` mode **)**
 
 
 .. _class_Environment_set_ssao_color:
 .. _class_Environment_set_ssao_color:
 
 
@@ -1117,6 +1148,10 @@ Member Function Description
 
 
 - void **set_ssao_direct_light_affect** **(** :ref:`float<class_float>` amount **)**
 - void **set_ssao_direct_light_affect** **(** :ref:`float<class_float>` amount **)**
 
 
+.. _class_Environment_set_ssao_edge_sharpness:
+
+- void **set_ssao_edge_sharpness** **(** :ref:`float<class_float>` edge_sharpness **)**
+
 .. _class_Environment_set_ssao_enabled:
 .. _class_Environment_set_ssao_enabled:
 
 
 - void **set_ssao_enabled** **(** :ref:`bool<class_bool>` enabled **)**
 - void **set_ssao_enabled** **(** :ref:`bool<class_bool>` enabled **)**
@@ -1129,6 +1164,10 @@ Member Function Description
 
 
 - void **set_ssao_intensity2** **(** :ref:`float<class_float>` intensity **)**
 - void **set_ssao_intensity2** **(** :ref:`float<class_float>` intensity **)**
 
 
+.. _class_Environment_set_ssao_quality:
+
+- void **set_ssao_quality** **(** :ref:`int<class_int>` quality **)**
+
 .. _class_Environment_set_ssao_radius:
 .. _class_Environment_set_ssao_radius:
 
 
 - void **set_ssao_radius** **(** :ref:`float<class_float>` radius **)**
 - void **set_ssao_radius** **(** :ref:`float<class_float>` radius **)**

+ 1 - 1
classes/class_funcref.rst

@@ -32,7 +32,7 @@ Description
 
 
 In GDScript, functions are not *first-class objects*. This means it is impossible to store them directly as variables, return them from another function, or pass them as arguments.
 In GDScript, functions are not *first-class objects*. This means it is impossible to store them directly as variables, return them from another function, or pass them as arguments.
 
 
-However, by creating a :ref:`FuncRef<class_funcref>` using the :ref:`@GDScript.funcref<class_@GDScript_funcref>` function, a reference to a function in a given object can be created, passed around and called.
+However, by creating a ``FuncRef`` using the :ref:`@GDScript.funcref<class_@GDScript_funcref>` function, a reference to a function in a given object can be created, passed around and called.
 
 
 Member Function Description
 Member Function Description
 ---------------------------
 ---------------------------

+ 54 - 0
classes/class_geometry.rst

@@ -60,6 +60,10 @@ Member Functions
 +--------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`PoolIntArray<class_poolintarray>`          | :ref:`triangulate_polygon<class_Geometry_triangulate_polygon>` **(** :ref:`PoolVector2Array<class_poolvector2array>` polygon **)**                                                                                                                                  |
 | :ref:`PoolIntArray<class_poolintarray>`          | :ref:`triangulate_polygon<class_Geometry_triangulate_polygon>` **(** :ref:`PoolVector2Array<class_poolvector2array>` polygon **)**                                                                                                                                  |
 +--------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`PoolVector2Array<class_poolvector2array>`  | :ref:`convex_hull_2d<class_Geometry_convex_hull_2d>` **(** :ref:`PoolVector2Array<class_poolvector2array>` points **)**                                                                                                                                             |
++--------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`PoolVector3Array<class_poolvector3array>`  | :ref:`clip_polygon<class_Geometry_clip_polygon>` **(** :ref:`PoolVector3Array<class_poolvector3array>` points, :ref:`Plane<class_plane>` plane **)**                                                                                                                |
++--------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 
 
 Member Function Description
 Member Function Description
 ---------------------------
 ---------------------------
@@ -68,38 +72,56 @@ Member Function Description
 
 
 - :ref:`Array<class_array>` **build_box_planes** **(** :ref:`Vector3<class_vector3>` extents **)**
 - :ref:`Array<class_array>` **build_box_planes** **(** :ref:`Vector3<class_vector3>` extents **)**
 
 
+Returns an array with 6 :ref:`Plane<class_plane>`\ s that describe the sides of a box centered at the origin. The box size is defined by ``extents``, which represents one (positive) corner of the box (i.e. half its actual size).
+
 .. _class_Geometry_build_capsule_planes:
 .. _class_Geometry_build_capsule_planes:
 
 
 - :ref:`Array<class_array>` **build_capsule_planes** **(** :ref:`float<class_float>` radius, :ref:`float<class_float>` height, :ref:`int<class_int>` sides, :ref:`int<class_int>` lats, :ref:`int<class_int>` axis=2 **)**
 - :ref:`Array<class_array>` **build_capsule_planes** **(** :ref:`float<class_float>` radius, :ref:`float<class_float>` height, :ref:`int<class_int>` sides, :ref:`int<class_int>` lats, :ref:`int<class_int>` axis=2 **)**
 
 
+Returns an array of :ref:`Plane<class_plane>`\ s closely bounding a faceted capsule centered at the origin with radius ``radius`` and height ``height``. The parameter ``sides`` defines how many planes will be generated for the side part of the capsule, whereas ``lats`` gives the number of latitudinal steps at the bottom and top of the capsule. The parameter ``axis`` describes the axis along which the capsule is oriented (0 for X, 1 for Y, 2 for Z).
+
 .. _class_Geometry_build_cylinder_planes:
 .. _class_Geometry_build_cylinder_planes:
 
 
 - :ref:`Array<class_array>` **build_cylinder_planes** **(** :ref:`float<class_float>` radius, :ref:`float<class_float>` height, :ref:`int<class_int>` sides, :ref:`int<class_int>` axis=2 **)**
 - :ref:`Array<class_array>` **build_cylinder_planes** **(** :ref:`float<class_float>` radius, :ref:`float<class_float>` height, :ref:`int<class_int>` sides, :ref:`int<class_int>` axis=2 **)**
 
 
+Returns an array of :ref:`Plane<class_plane>`\ s closely bounding a faceted cylinder centered at the origin with radius ``radius`` and height ``height``. The parameter ``sides`` defines how many planes will be generated for the round part of the cylinder. The parameter ``axis`` describes the axis along which the cylinder is oriented (0 for X, 1 for Y, 2 for Z).
+
 .. _class_Geometry_get_closest_point_to_segment:
 .. _class_Geometry_get_closest_point_to_segment:
 
 
 - :ref:`Vector3<class_vector3>` **get_closest_point_to_segment** **(** :ref:`Vector3<class_vector3>` point, :ref:`Vector3<class_vector3>` s1, :ref:`Vector3<class_vector3>` s2 **)**
 - :ref:`Vector3<class_vector3>` **get_closest_point_to_segment** **(** :ref:`Vector3<class_vector3>` point, :ref:`Vector3<class_vector3>` s1, :ref:`Vector3<class_vector3>` s2 **)**
 
 
+Returns the 3d point on the 3d segment (``s1``, ``s2``) that is closest to ``point``. The returned point will always be inside the specified segment.
+
 .. _class_Geometry_get_closest_point_to_segment_2d:
 .. _class_Geometry_get_closest_point_to_segment_2d:
 
 
 - :ref:`Vector2<class_vector2>` **get_closest_point_to_segment_2d** **(** :ref:`Vector2<class_vector2>` point, :ref:`Vector2<class_vector2>` s1, :ref:`Vector2<class_vector2>` s2 **)**
 - :ref:`Vector2<class_vector2>` **get_closest_point_to_segment_2d** **(** :ref:`Vector2<class_vector2>` point, :ref:`Vector2<class_vector2>` s1, :ref:`Vector2<class_vector2>` s2 **)**
 
 
+Returns the 2d point on the 2d segment (``s1``, ``s2``) that is closest to ``point``. The returned point will always be inside the specified segment.
+
 .. _class_Geometry_get_closest_point_to_segment_uncapped:
 .. _class_Geometry_get_closest_point_to_segment_uncapped:
 
 
 - :ref:`Vector3<class_vector3>` **get_closest_point_to_segment_uncapped** **(** :ref:`Vector3<class_vector3>` point, :ref:`Vector3<class_vector3>` s1, :ref:`Vector3<class_vector3>` s2 **)**
 - :ref:`Vector3<class_vector3>` **get_closest_point_to_segment_uncapped** **(** :ref:`Vector3<class_vector3>` point, :ref:`Vector3<class_vector3>` s1, :ref:`Vector3<class_vector3>` s2 **)**
 
 
+Returns the 3d point on the 3d line defined by (``s1``, ``s2``) that is closest to ``point``. The returned point can be inside the segment (``s1``, ``s2``) or outside of it, i.e. somewhere on the line extending from the segment.
+
 .. _class_Geometry_get_closest_point_to_segment_uncapped_2d:
 .. _class_Geometry_get_closest_point_to_segment_uncapped_2d:
 
 
 - :ref:`Vector2<class_vector2>` **get_closest_point_to_segment_uncapped_2d** **(** :ref:`Vector2<class_vector2>` point, :ref:`Vector2<class_vector2>` s1, :ref:`Vector2<class_vector2>` s2 **)**
 - :ref:`Vector2<class_vector2>` **get_closest_point_to_segment_uncapped_2d** **(** :ref:`Vector2<class_vector2>` point, :ref:`Vector2<class_vector2>` s1, :ref:`Vector2<class_vector2>` s2 **)**
 
 
+Returns the 2d point on the 2d line defined by (``s1``, ``s2``) that is closest to ``point``. The returned point can be inside the segment (``s1``, ``s2``) or outside of it, i.e. somewhere on the line extending from the segment.
+
 .. _class_Geometry_get_closest_points_between_segments:
 .. _class_Geometry_get_closest_points_between_segments:
 
 
 - :ref:`PoolVector3Array<class_poolvector3array>` **get_closest_points_between_segments** **(** :ref:`Vector3<class_vector3>` p1, :ref:`Vector3<class_vector3>` p2, :ref:`Vector3<class_vector3>` q1, :ref:`Vector3<class_vector3>` q2 **)**
 - :ref:`PoolVector3Array<class_poolvector3array>` **get_closest_points_between_segments** **(** :ref:`Vector3<class_vector3>` p1, :ref:`Vector3<class_vector3>` p2, :ref:`Vector3<class_vector3>` q1, :ref:`Vector3<class_vector3>` q2 **)**
 
 
+Given the two 3d segments (``p1``, ``p2``) and (``q1``, ``q2``), finds those two points on the two segments that are closest to each other. Returns a :ref:`PoolVector3Array<class_poolvector3array>` that contains this point on (``p1``, ``p2``) as well the accompanying point on (``q1``, ``q2``).
+
 .. _class_Geometry_get_closest_points_between_segments_2d:
 .. _class_Geometry_get_closest_points_between_segments_2d:
 
 
 - :ref:`PoolVector2Array<class_poolvector2array>` **get_closest_points_between_segments_2d** **(** :ref:`Vector2<class_vector2>` p1, :ref:`Vector2<class_vector2>` q1, :ref:`Vector2<class_vector2>` p2, :ref:`Vector2<class_vector2>` q2 **)**
 - :ref:`PoolVector2Array<class_poolvector2array>` **get_closest_points_between_segments_2d** **(** :ref:`Vector2<class_vector2>` p1, :ref:`Vector2<class_vector2>` q1, :ref:`Vector2<class_vector2>` p2, :ref:`Vector2<class_vector2>` q2 **)**
 
 
+Given the two 2d segments (``p1``, ``p2``) and (``q1``, ``q2``), finds those two points on the two segments that are closest to each other. Returns a :ref:`PoolVector2Array<class_poolvector2array>` that contains this point on (``p1``, ``p2``) as well the accompanying point on (``q1``, ``q2``).
+
 .. _class_Geometry_get_uv84_normal_bit:
 .. _class_Geometry_get_uv84_normal_bit:
 
 
 - :ref:`int<class_int>` **get_uv84_normal_bit** **(** :ref:`Vector3<class_vector3>` normal **)**
 - :ref:`int<class_int>` **get_uv84_normal_bit** **(** :ref:`Vector3<class_vector3>` normal **)**
@@ -108,40 +130,72 @@ Member Function Description
 
 
 - :ref:`Dictionary<class_dictionary>` **make_atlas** **(** :ref:`PoolVector2Array<class_poolvector2array>` sizes **)**
 - :ref:`Dictionary<class_dictionary>` **make_atlas** **(** :ref:`PoolVector2Array<class_poolvector2array>` sizes **)**
 
 
+Given an array of :ref:`Vector2<class_vector2>`\ s representing tiles, builds an atlas. The returned dictionary has two keys: ``points`` is a vector of :ref:`Vector2<class_vector2>` that specifies the positions of each tile, ``size`` contains the overall size of the whole atlas as :ref:`Vector2<class_vector2>`.
+
 .. _class_Geometry_point_is_inside_triangle:
 .. _class_Geometry_point_is_inside_triangle:
 
 
 - :ref:`bool<class_bool>` **point_is_inside_triangle** **(** :ref:`Vector2<class_vector2>` point, :ref:`Vector2<class_vector2>` a, :ref:`Vector2<class_vector2>` b, :ref:`Vector2<class_vector2>` c **)** const
 - :ref:`bool<class_bool>` **point_is_inside_triangle** **(** :ref:`Vector2<class_vector2>` point, :ref:`Vector2<class_vector2>` a, :ref:`Vector2<class_vector2>` b, :ref:`Vector2<class_vector2>` c **)** const
 
 
+Returns if ``point`` is inside the triangle specified by ``a``, ``b`` and ``c``.
+
 .. _class_Geometry_ray_intersects_triangle:
 .. _class_Geometry_ray_intersects_triangle:
 
 
 - :ref:`Variant<class_variant>` **ray_intersects_triangle** **(** :ref:`Vector3<class_vector3>` from, :ref:`Vector3<class_vector3>` dir, :ref:`Vector3<class_vector3>` a, :ref:`Vector3<class_vector3>` b, :ref:`Vector3<class_vector3>` c **)**
 - :ref:`Variant<class_variant>` **ray_intersects_triangle** **(** :ref:`Vector3<class_vector3>` from, :ref:`Vector3<class_vector3>` dir, :ref:`Vector3<class_vector3>` a, :ref:`Vector3<class_vector3>` b, :ref:`Vector3<class_vector3>` c **)**
 
 
+Tests if the 3d ray starting at ``from`` with the direction of ``dir`` intersects the triangle specified by ``a``, ``b`` and ``c``. If yes, returns the point of intersection as :ref:`Vector3<class_vector3>`. If no intersection takes place, an empty :ref:`Variant<class_variant>` is returned.
+
 .. _class_Geometry_segment_intersects_circle:
 .. _class_Geometry_segment_intersects_circle:
 
 
 - :ref:`float<class_float>` **segment_intersects_circle** **(** :ref:`Vector2<class_vector2>` segment_from, :ref:`Vector2<class_vector2>` segment_to, :ref:`Vector2<class_vector2>` circle_position, :ref:`float<class_float>` circle_radius **)**
 - :ref:`float<class_float>` **segment_intersects_circle** **(** :ref:`Vector2<class_vector2>` segment_from, :ref:`Vector2<class_vector2>` segment_to, :ref:`Vector2<class_vector2>` circle_position, :ref:`float<class_float>` circle_radius **)**
 
 
+Given the 2d segment (``segment_from``, ``segment_to``), returns the position on the segment (as a number between 0 and 1) at which the segment hits the circle that is located at position ``circle_position`` and has radius ``circle_radius``. If the segment does not intersect the circle, -1 is returned (this is also the case if the line extending the segment would intersect the circle, but the segment does not).
+
 .. _class_Geometry_segment_intersects_convex:
 .. _class_Geometry_segment_intersects_convex:
 
 
 - :ref:`PoolVector3Array<class_poolvector3array>` **segment_intersects_convex** **(** :ref:`Vector3<class_vector3>` from, :ref:`Vector3<class_vector3>` to, :ref:`Array<class_array>` planes **)**
 - :ref:`PoolVector3Array<class_poolvector3array>` **segment_intersects_convex** **(** :ref:`Vector3<class_vector3>` from, :ref:`Vector3<class_vector3>` to, :ref:`Array<class_array>` planes **)**
 
 
+Given a convex hull defined though the :ref:`Plane<class_plane>`\ s in the array ``planes``, tests if the segment (``from``, ``to``) intersects with that hull. If an intersection is found, returns a :ref:`PoolVector3Array<class_poolvector3array>` containing the point the intersection and the hull's normal. If no intersecion is found, an the returned array is empty.
+
 .. _class_Geometry_segment_intersects_cylinder:
 .. _class_Geometry_segment_intersects_cylinder:
 
 
 - :ref:`PoolVector3Array<class_poolvector3array>` **segment_intersects_cylinder** **(** :ref:`Vector3<class_vector3>` from, :ref:`Vector3<class_vector3>` to, :ref:`float<class_float>` height, :ref:`float<class_float>` radius **)**
 - :ref:`PoolVector3Array<class_poolvector3array>` **segment_intersects_cylinder** **(** :ref:`Vector3<class_vector3>` from, :ref:`Vector3<class_vector3>` to, :ref:`float<class_float>` height, :ref:`float<class_float>` radius **)**
 
 
+Checks if the segment (``from``, ``to``) intersects the cylinder with height ``height`` that is centered at the origin and has radius ``radius``. If no, returns an empty :ref:`PoolVector3Array<class_poolvector3array>`. If an intersection takes place, the returned array contains the point of intersection and the cylinder's normal at the point of intersection.
+
 .. _class_Geometry_segment_intersects_segment_2d:
 .. _class_Geometry_segment_intersects_segment_2d:
 
 
 - :ref:`Variant<class_variant>` **segment_intersects_segment_2d** **(** :ref:`Vector2<class_vector2>` from_a, :ref:`Vector2<class_vector2>` to_a, :ref:`Vector2<class_vector2>` from_b, :ref:`Vector2<class_vector2>` to_b **)**
 - :ref:`Variant<class_variant>` **segment_intersects_segment_2d** **(** :ref:`Vector2<class_vector2>` from_a, :ref:`Vector2<class_vector2>` to_a, :ref:`Vector2<class_vector2>` from_b, :ref:`Vector2<class_vector2>` to_b **)**
 
 
+Checks if the two segments (``from_a``, ``to_a``) and (``from_b``, ``to_b``) intersect. If yes, return the point of intersection as :ref:`Vector2<class_vector2>`. If no intersection takes place, returns an empty :ref:`Variant<class_variant>`.
+
 .. _class_Geometry_segment_intersects_sphere:
 .. _class_Geometry_segment_intersects_sphere:
 
 
 - :ref:`PoolVector3Array<class_poolvector3array>` **segment_intersects_sphere** **(** :ref:`Vector3<class_vector3>` from, :ref:`Vector3<class_vector3>` to, :ref:`Vector3<class_vector3>` sphere_position, :ref:`float<class_float>` sphere_radius **)**
 - :ref:`PoolVector3Array<class_poolvector3array>` **segment_intersects_sphere** **(** :ref:`Vector3<class_vector3>` from, :ref:`Vector3<class_vector3>` to, :ref:`Vector3<class_vector3>` sphere_position, :ref:`float<class_float>` sphere_radius **)**
 
 
+Checks if the segment (``from``, ``to``) intersects the sphere that is located at ``sphere_position`` and has radius ``sphere_radius``. If no, returns an empty :ref:`PoolVector3Array<class_poolvector3array>`. If yes, returns a :ref:`PoolVector3Array<class_poolvector3array>` containing the point of intersection and the sphere's normal at the point of intersection.
+
 .. _class_Geometry_segment_intersects_triangle:
 .. _class_Geometry_segment_intersects_triangle:
 
 
 - :ref:`Variant<class_variant>` **segment_intersects_triangle** **(** :ref:`Vector3<class_vector3>` from, :ref:`Vector3<class_vector3>` to, :ref:`Vector3<class_vector3>` a, :ref:`Vector3<class_vector3>` b, :ref:`Vector3<class_vector3>` c **)**
 - :ref:`Variant<class_variant>` **segment_intersects_triangle** **(** :ref:`Vector3<class_vector3>` from, :ref:`Vector3<class_vector3>` to, :ref:`Vector3<class_vector3>` a, :ref:`Vector3<class_vector3>` b, :ref:`Vector3<class_vector3>` c **)**
 
 
+Tests if the segment (``from``, ``to``) intersects the triangle ``a``, ``b``, ``c``. If yes, returns the point of intersection as :ref:`Vector3<class_vector3>`. If no intersection takes place, an empty :ref:`Variant<class_variant>` is returned.
+
 .. _class_Geometry_triangulate_polygon:
 .. _class_Geometry_triangulate_polygon:
 
 
 - :ref:`PoolIntArray<class_poolintarray>` **triangulate_polygon** **(** :ref:`PoolVector2Array<class_poolvector2array>` polygon **)**
 - :ref:`PoolIntArray<class_poolintarray>` **triangulate_polygon** **(** :ref:`PoolVector2Array<class_poolvector2array>` polygon **)**
 
 
+Triangulates the polygon specified by the points in ``polygon``. Returns a :ref:`PoolIntArray<class_poolintarray>` where each triangle consists of three consecutive point indices into ``polygon`` (i.e. the returned array will have ``n \* 3`` elements, with ``n`` being the number of found triangles). If the triangulation did not succeed, an empty :ref:`PoolIntArray<class_poolintarray>` is returned.
+
+.. _class_Geometry_convex_hull_2d:
+
+- :ref:`PoolVector2Array<class_poolvector2array>` **convex_hull_2d** **(** :ref:`PoolVector2Array<class_poolvector2array>` points **)**
+
+Given an array of :ref:`Vector2<class_vector2>`\ s, returns the convex hull as a list of points in counter-clockwise order. The last point is the same as the first one.
+
+.. _class_Geometry_clip_polygon:
+
+- :ref:`PoolVector3Array<class_poolvector3array>` **clip_polygon** **(** :ref:`PoolVector3Array<class_poolvector3array>` points, :ref:`Plane<class_plane>` plane **)**
+
+Clips the polygon defined by the points in ``points`` against the ``plane`` and returns the points of the clipped polygon.
+
 
 

+ 1 - 0
classes/class_giprobe.rst

@@ -115,6 +115,7 @@ Numeric Constants
 - **SUBDIV_64** = **0**
 - **SUBDIV_64** = **0**
 - **SUBDIV_128** = **1**
 - **SUBDIV_128** = **1**
 - **SUBDIV_256** = **2**
 - **SUBDIV_256** = **2**
+- **SUBDIV_512** = **3**
 - **SUBDIV_MAX** = **4**
 - **SUBDIV_MAX** = **4**
 
 
 Member Function Description
 Member Function Description

+ 2 - 2
classes/class_groovejoint2d.rst

@@ -34,11 +34,11 @@ Member Variables
 
 
   .. _class_GrooveJoint2D_initial_offset:
   .. _class_GrooveJoint2D_initial_offset:
 
 
-- :ref:`float<class_float>` **initial_offset**
+- :ref:`float<class_float>` **initial_offset** - The body B's initial anchor position defined by the joint's origin and a local offset :ref:`initial_offset<class_GrooveJoint2D_initial_offset>` along the joint's y axis (along the groove). Default value: ``25``
 
 
   .. _class_GrooveJoint2D_length:
   .. _class_GrooveJoint2D_length:
 
 
-- :ref:`float<class_float>` **length**
+- :ref:`float<class_float>` **length** - The groove's length. The groove is from the joint's origin towards :ref:`length<class_GrooveJoint2D_length>` along the joint's local y axis. Default value: ``50``
 
 
 
 
 Description
 Description

+ 3 - 19
classes/class_httpclient.rst

@@ -52,10 +52,6 @@ Member Functions
 +------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`int<class_int>`                          | :ref:`request_raw<class_HTTPClient_request_raw>` **(** :ref:`int<class_int>` method, :ref:`String<class_string>` url, :ref:`PoolStringArray<class_poolstringarray>` headers, :ref:`PoolByteArray<class_poolbytearray>` body **)** |
 | :ref:`int<class_int>`                          | :ref:`request_raw<class_HTTPClient_request_raw>` **(** :ref:`int<class_int>` method, :ref:`String<class_string>` url, :ref:`PoolStringArray<class_poolstringarray>` headers, :ref:`PoolByteArray<class_poolbytearray>` body **)** |
 +------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                          | :ref:`send_body_data<class_HTTPClient_send_body_data>` **(** :ref:`PoolByteArray<class_poolbytearray>` body **)**                                                                                                                 |
-+------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                          | :ref:`send_body_text<class_HTTPClient_send_body_text>` **(** :ref:`String<class_string>` body **)**                                                                                                                               |
-+------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                           | :ref:`set_blocking_mode<class_HTTPClient_set_blocking_mode>` **(** :ref:`bool<class_bool>` enabled **)**                                                                                                                          |
 | void                                           | :ref:`set_blocking_mode<class_HTTPClient_set_blocking_mode>` **(** :ref:`bool<class_bool>` enabled **)**                                                                                                                          |
 +------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                           | :ref:`set_connection<class_HTTPClient_set_connection>` **(** :ref:`StreamPeer<class_streampeer>` connection **)**                                                                                                                 |
 | void                                           | :ref:`set_connection<class_HTTPClient_set_connection>` **(** :ref:`StreamPeer<class_streampeer>` connection **)**                                                                                                                 |
@@ -149,7 +145,7 @@ Member Function Description
 
 
 - void **close** **(** **)**
 - void **close** **(** **)**
 
 
-Cloces the current connection, allows for reusal of :ref:`HTTPClient<class_httpclient>`.
+Cloces the current connection, allows for reusal of ``HTTPClient``.
 
 
 .. _class_HTTPClient_connect_to_host:
 .. _class_HTTPClient_connect_to_host:
 
 
@@ -205,7 +201,7 @@ Returns a STATUS\_\* enum constant. Need to call :ref:`poll<class_HTTPClient_pol
 
 
 - :ref:`bool<class_bool>` **has_response** **(** **)** const
 - :ref:`bool<class_bool>` **has_response** **(** **)** const
 
 
-Return whether this :ref:`HTTPClient<class_httpclient>` has a response available.
+Return whether this ``HTTPClient`` has a response available.
 
 
 .. _class_HTTPClient_is_blocking_mode_enabled:
 .. _class_HTTPClient_is_blocking_mode_enabled:
 
 
@@ -217,7 +213,7 @@ Return whether blocking mode is enabled.
 
 
 - :ref:`bool<class_bool>` **is_response_chunked** **(** **)** const
 - :ref:`bool<class_bool>` **is_response_chunked** **(** **)** const
 
 
-Return whether this :ref:`HTTPClient<class_httpclient>` has a response that is chunked.
+Return whether this ``HTTPClient`` has a response that is chunked.
 
 
 .. _class_HTTPClient_poll:
 .. _class_HTTPClient_poll:
 
 
@@ -270,18 +266,6 @@ Headers are HTTP request headers.
 
 
 Sends body raw, as a byte array, does not encode it in any way.
 Sends body raw, as a byte array, does not encode it in any way.
 
 
-.. _class_HTTPClient_send_body_data:
-
-- :ref:`int<class_int>` **send_body_data** **(** :ref:`PoolByteArray<class_poolbytearray>` body **)**
-
-Stub function
-
-.. _class_HTTPClient_send_body_text:
-
-- :ref:`int<class_int>` **send_body_text** **(** :ref:`String<class_string>` body **)**
-
-Stub function
-
 .. _class_HTTPClient_set_blocking_mode:
 .. _class_HTTPClient_set_blocking_mode:
 
 
 - void **set_blocking_mode** **(** :ref:`bool<class_bool>` enabled **)**
 - void **set_blocking_mode** **(** :ref:`bool<class_bool>` enabled **)**

+ 88 - 16
classes/class_image.rst

@@ -112,7 +112,7 @@ Member Variables
 
 
   .. _class_Image_data:
   .. _class_Image_data:
 
 
-- :ref:`Dictionary<class_dictionary>` **data**
+- :ref:`Dictionary<class_dictionary>` **data** - Holds all of the image's color data in a given format. See ``FORMAT\_\*`` constants.
 
 
 
 
 Numeric Constants
 Numeric Constants
@@ -174,7 +174,7 @@ Numeric Constants
 Description
 Description
 -----------
 -----------
 
 
-Native image datatype. Contains image data, which can be converted to a texture, and several functions to interact with it.
+Native image datatype. Contains image data, which can be converted to a :ref:`Texture<class_texture>`, and several functions to interact with it. The maximum width and height for an ``Image`` is 16384 pixels.
 
 
 Member Function Description
 Member Function Description
 ---------------------------
 ---------------------------
@@ -183,200 +183,272 @@ Member Function Description
 
 
 - void **blend_rect** **(** :ref:`Image<class_image>` src, :ref:`Rect2<class_rect2>` src_rect, :ref:`Vector2<class_vector2>` dst **)**
 - void **blend_rect** **(** :ref:`Image<class_image>` src, :ref:`Rect2<class_rect2>` src_rect, :ref:`Vector2<class_vector2>` dst **)**
 
 
-Alpha-blends a "src_rect" :ref:`Rect2<class_rect2>` from "src" :ref:`Image<class_image>` to this :ref:`Image<class_image>` on coordinates "dest".
+Alpha-blends ``src_rect`` from ``src`` image to this image at coordinates ``dest``.
 
 
 .. _class_Image_blend_rect_mask:
 .. _class_Image_blend_rect_mask:
 
 
 - void **blend_rect_mask** **(** :ref:`Image<class_image>` src, :ref:`Image<class_image>` mask, :ref:`Rect2<class_rect2>` src_rect, :ref:`Vector2<class_vector2>` dst **)**
 - void **blend_rect_mask** **(** :ref:`Image<class_image>` src, :ref:`Image<class_image>` mask, :ref:`Rect2<class_rect2>` src_rect, :ref:`Vector2<class_vector2>` dst **)**
 
 
-Alpha-blends a "src_rect" :ref:`Rect2<class_rect2>` from "src" :ref:`Image<class_image>` to this :ref:`Image<class_image>` using a "mask" :ref:`Image<class_image>` on coordinates "dest". Alpha channels are required for both "src" and "mask", dest pixels and src pixels will blend if the corresponding mask pixel's alpha value is not 0. "src" :ref:`Image<class_image>` and "mask" :ref:`Image<class_image>` \*must\* have the same size (width and height) but they can have different formats
+Alpha-blends ``src_rect`` from ``src`` image to this image using ``mask`` image at coordinates ``dst``. Alpha channels are required for both ``src`` and ``mask``. ``dst`` pixels and ``src`` pixels will blend if the corresponding mask pixel's alpha value is not 0. ``src`` image and ``mask`` image **must** have the same size (width and height) but they can have different formats.
 
 
 .. _class_Image_blit_rect:
 .. _class_Image_blit_rect:
 
 
 - void **blit_rect** **(** :ref:`Image<class_image>` src, :ref:`Rect2<class_rect2>` src_rect, :ref:`Vector2<class_vector2>` dst **)**
 - void **blit_rect** **(** :ref:`Image<class_image>` src, :ref:`Rect2<class_rect2>` src_rect, :ref:`Vector2<class_vector2>` dst **)**
 
 
-Copy a "src_rect" :ref:`Rect2<class_rect2>` from "src" :ref:`Image<class_image>` to this :ref:`Image<class_image>` on coordinates "dest".
+Copies ``src_rect`` from ``src`` image to this image at coordinates ``dst``.
 
 
 .. _class_Image_blit_rect_mask:
 .. _class_Image_blit_rect_mask:
 
 
 - void **blit_rect_mask** **(** :ref:`Image<class_image>` src, :ref:`Image<class_image>` mask, :ref:`Rect2<class_rect2>` src_rect, :ref:`Vector2<class_vector2>` dst **)**
 - void **blit_rect_mask** **(** :ref:`Image<class_image>` src, :ref:`Image<class_image>` mask, :ref:`Rect2<class_rect2>` src_rect, :ref:`Vector2<class_vector2>` dst **)**
 
 
-Blits a "src_rect" :ref:`Rect2<class_rect2>` from "src" :ref:`Image<class_image>` to this :ref:`Image<class_image>` using a "mask" :ref:`Image<class_image>` on coordinates "dest". Alpha channel is required for "mask", will copy src pixel onto dest if the corresponding mask pixel's alpha value is not 0. "src" :ref:`Image<class_image>` and "mask" :ref:`Image<class_image>` \*must\* have the same size (width and height) but they can have different formats
+Blits ``src_rect`` area from ``src`` image to this image at the coordinates given by ``dst``. ``src`` pixel is copied onto ``dst`` if the corresponding ``mask`` pixel's alpha value is not 0. ``src`` image and ``mask`` image **must** have the same size (width and height) but they can have different formats.
 
 
 .. _class_Image_clear_mipmaps:
 .. _class_Image_clear_mipmaps:
 
 
 - void **clear_mipmaps** **(** **)**
 - void **clear_mipmaps** **(** **)**
 
 
+Removes the image's mipmaps.
+
 .. _class_Image_compress:
 .. _class_Image_compress:
 
 
 - :ref:`int<class_int>` **compress** **(** :ref:`int<class_int>` mode, :ref:`int<class_int>` source, :ref:`float<class_float>` lossy_quality **)**
 - :ref:`int<class_int>` **compress** **(** :ref:`int<class_int>` mode, :ref:`int<class_int>` source, :ref:`float<class_float>` lossy_quality **)**
 
 
+Compresses the image to use less memory. Can not directly access pixel data while the image is compressed. Returns error if the chosen compression mode is not available. See ``COMPRESS\_\*`` constants.
+
 .. _class_Image_convert:
 .. _class_Image_convert:
 
 
 - void **convert** **(** :ref:`int<class_int>` format **)**
 - void **convert** **(** :ref:`int<class_int>` format **)**
 
 
+Converts the image's format. See ``FORMAT\_\*`` constants.
+
 .. _class_Image_copy_from:
 .. _class_Image_copy_from:
 
 
 - void **copy_from** **(** :ref:`Image<class_image>` src **)**
 - void **copy_from** **(** :ref:`Image<class_image>` src **)**
 
 
+Copies ``src`` image to this image.
+
 .. _class_Image_create:
 .. _class_Image_create:
 
 
 - void **create** **(** :ref:`int<class_int>` width, :ref:`int<class_int>` height, :ref:`bool<class_bool>` use_mipmaps, :ref:`int<class_int>` format **)**
 - void **create** **(** :ref:`int<class_int>` width, :ref:`int<class_int>` height, :ref:`bool<class_bool>` use_mipmaps, :ref:`int<class_int>` format **)**
 
 
-Create an empty image of a specific size and format.
+Creates an empty image of given size and format. See ``FORMAT\_\*`` constants. If ``use_mipmaps`` is true then generate mipmaps for this image. See the ``generate_mipmaps`` method.
 
 
 .. _class_Image_create_from_data:
 .. _class_Image_create_from_data:
 
 
 - void **create_from_data** **(** :ref:`int<class_int>` width, :ref:`int<class_int>` height, :ref:`bool<class_bool>` use_mipmaps, :ref:`int<class_int>` format, :ref:`PoolByteArray<class_poolbytearray>` data **)**
 - void **create_from_data** **(** :ref:`int<class_int>` width, :ref:`int<class_int>` height, :ref:`bool<class_bool>` use_mipmaps, :ref:`int<class_int>` format, :ref:`PoolByteArray<class_poolbytearray>` data **)**
 
 
+Creates a new image of given size and format. See ``FORMAT\_\*`` constants. Fills the image with the given raw data. If ``use_mipmaps`` is true then generate mipmaps for this image. See the ``generate_mipmaps`` method.
+
 .. _class_Image_crop:
 .. _class_Image_crop:
 
 
 - void **crop** **(** :ref:`int<class_int>` width, :ref:`int<class_int>` height **)**
 - void **crop** **(** :ref:`int<class_int>` width, :ref:`int<class_int>` height **)**
 
 
+Crops the image to the given ``width`` and ``height``. If the specified size is larger than the current size, the extra area is filled with black pixels.
+
 .. _class_Image_decompress:
 .. _class_Image_decompress:
 
 
 - :ref:`int<class_int>` **decompress** **(** **)**
 - :ref:`int<class_int>` **decompress** **(** **)**
 
 
+Decompresses the image if it is compressed. Returns an error if decompress function is not available.
+
 .. _class_Image_detect_alpha:
 .. _class_Image_detect_alpha:
 
 
 - :ref:`int<class_int>` **detect_alpha** **(** **)** const
 - :ref:`int<class_int>` **detect_alpha** **(** **)** const
 
 
+Returns ALPHA_BLEND if the image has data for alpha values. Returns ALPHA_BIT if all the alpha values are below a certain threshold or the maximum value. Returns ALPHA_NONE if no data for alpha values is found.
+
 .. _class_Image_expand_x2_hq2x:
 .. _class_Image_expand_x2_hq2x:
 
 
 - void **expand_x2_hq2x** **(** **)**
 - void **expand_x2_hq2x** **(** **)**
 
 
+Stretches the image and enlarges it by a factor of 2. No interpolation is done.
+
 .. _class_Image_fill:
 .. _class_Image_fill:
 
 
 - void **fill** **(** :ref:`Color<class_color>` color **)**
 - void **fill** **(** :ref:`Color<class_color>` color **)**
 
 
-Fills an :ref:`Image<class_image>` with a specified :ref:`Color<class_color>`
+Fills the image with a given :ref:`Color<class_color>`.
 
 
 .. _class_Image_fix_alpha_edges:
 .. _class_Image_fix_alpha_edges:
 
 
 - void **fix_alpha_edges** **(** **)**
 - void **fix_alpha_edges** **(** **)**
 
 
+Blends low-alpha pixels with nearby pixels.
+
 .. _class_Image_flip_x:
 .. _class_Image_flip_x:
 
 
 - void **flip_x** **(** **)**
 - void **flip_x** **(** **)**
 
 
+Flips the image horizontally.
+
 .. _class_Image_flip_y:
 .. _class_Image_flip_y:
 
 
 - void **flip_y** **(** **)**
 - void **flip_y** **(** **)**
 
 
+Flips the image vertically.
+
 .. _class_Image_generate_mipmaps:
 .. _class_Image_generate_mipmaps:
 
 
 - :ref:`int<class_int>` **generate_mipmaps** **(** **)**
 - :ref:`int<class_int>` **generate_mipmaps** **(** **)**
 
 
+Generates mipmaps for the image. Mipmaps are pre-calculated and lower resolution copies of the image. Mipmaps are automatically used if the image needs to be scaled down when rendered. This improves image quality and the performance of the rendering. Returns an error if the image is compressed, in a custom format or if the image's width/height is 0.
+
 .. _class_Image_get_data:
 .. _class_Image_get_data:
 
 
 - :ref:`PoolByteArray<class_poolbytearray>` **get_data** **(** **)** const
 - :ref:`PoolByteArray<class_poolbytearray>` **get_data** **(** **)** const
 
 
-Return the raw data of the :ref:`Image<class_image>`.
+Returns the image's raw data.
 
 
 .. _class_Image_get_format:
 .. _class_Image_get_format:
 
 
 - :ref:`int<class_int>` **get_format** **(** **)** const
 - :ref:`int<class_int>` **get_format** **(** **)** const
 
 
-Return the format of the :ref:`Image<class_image>`, one of :ref:`Image<class_image>`.FORMAT\_\*.
+Returns the image's raw data.
 
 
 .. _class_Image_get_height:
 .. _class_Image_get_height:
 
 
 - :ref:`int<class_int>` **get_height** **(** **)** const
 - :ref:`int<class_int>` **get_height** **(** **)** const
 
 
-Return the height of the :ref:`Image<class_image>`.
+Returns the image's height.
 
 
 .. _class_Image_get_mipmap_offset:
 .. _class_Image_get_mipmap_offset:
 
 
 - :ref:`int<class_int>` **get_mipmap_offset** **(** :ref:`int<class_int>` mipmap **)** const
 - :ref:`int<class_int>` **get_mipmap_offset** **(** :ref:`int<class_int>` mipmap **)** const
 
 
+Returns the offset where the image's mipmap with index ``mipmap`` is stored in the ``data`` dictionary.
+
 .. _class_Image_get_pixel:
 .. _class_Image_get_pixel:
 
 
 - :ref:`Color<class_color>` **get_pixel** **(** :ref:`int<class_int>` x, :ref:`int<class_int>` y **)** const
 - :ref:`Color<class_color>` **get_pixel** **(** :ref:`int<class_int>` x, :ref:`int<class_int>` y **)** const
 
 
+Returns the color of the pixel at ``(x, y)`` if the image is locked. If the image is unlocked it always returns a :ref:`Color<class_color>` with the value ``(0, 0, 0, 1.0)``.
+
 .. _class_Image_get_rect:
 .. _class_Image_get_rect:
 
 
 - :ref:`Image<class_image>` **get_rect** **(** :ref:`Rect2<class_rect2>` rect **)** const
 - :ref:`Image<class_image>` **get_rect** **(** :ref:`Rect2<class_rect2>` rect **)** const
 
 
-Return a new :ref:`Image<class_image>` that is a copy of "area" in this :ref:`Image<class_image>`.
+Returns a new image that is a copy of the image's area specified with ``rect``.
 
 
 .. _class_Image_get_size:
 .. _class_Image_get_size:
 
 
 - :ref:`Vector2<class_vector2>` **get_size** **(** **)** const
 - :ref:`Vector2<class_vector2>` **get_size** **(** **)** const
 
 
+Returns the image's size (width and height).
+
 .. _class_Image_get_used_rect:
 .. _class_Image_get_used_rect:
 
 
 - :ref:`Rect2<class_rect2>` **get_used_rect** **(** **)** const
 - :ref:`Rect2<class_rect2>` **get_used_rect** **(** **)** const
 
 
-Return the area of this :ref:`Image<class_image>` that is used/visibly colored/opaque.
+Returns a :ref:`Rect2<class_rect2>` enclosing the visible portion of the image.
 
 
 .. _class_Image_get_width:
 .. _class_Image_get_width:
 
 
 - :ref:`int<class_int>` **get_width** **(** **)** const
 - :ref:`int<class_int>` **get_width** **(** **)** const
 
 
-Return the width of the :ref:`Image<class_image>`.
+Returns the image's width.
 
 
 .. _class_Image_has_mipmaps:
 .. _class_Image_has_mipmaps:
 
 
 - :ref:`bool<class_bool>` **has_mipmaps** **(** **)** const
 - :ref:`bool<class_bool>` **has_mipmaps** **(** **)** const
 
 
+Returns ``true`` if the image has generated mipmaps.
+
 .. _class_Image_is_compressed:
 .. _class_Image_is_compressed:
 
 
 - :ref:`bool<class_bool>` **is_compressed** **(** **)** const
 - :ref:`bool<class_bool>` **is_compressed** **(** **)** const
 
 
+Returns ``true`` if the image is compressed.
+
 .. _class_Image_is_empty:
 .. _class_Image_is_empty:
 
 
 - :ref:`bool<class_bool>` **is_empty** **(** **)** const
 - :ref:`bool<class_bool>` **is_empty** **(** **)** const
 
 
+Returns ``true`` if the image has no data.
+
 .. _class_Image_is_invisible:
 .. _class_Image_is_invisible:
 
 
 - :ref:`bool<class_bool>` **is_invisible** **(** **)** const
 - :ref:`bool<class_bool>` **is_invisible** **(** **)** const
 
 
+Returns ``true`` if all the image's pixels have an alpha value of 0. Returns ``false`` if any pixel has an alpha value higher than 0.
+
 .. _class_Image_load:
 .. _class_Image_load:
 
 
 - :ref:`int<class_int>` **load** **(** :ref:`String<class_string>` path **)**
 - :ref:`int<class_int>` **load** **(** :ref:`String<class_string>` path **)**
 
 
-Load an :ref:`Image<class_image>`.
+Loads an image from file ``path``.
 
 
 .. _class_Image_lock:
 .. _class_Image_lock:
 
 
 - void **lock** **(** **)**
 - void **lock** **(** **)**
 
 
+Locks the data and prevents changes.
+
 .. _class_Image_normalmap_to_xy:
 .. _class_Image_normalmap_to_xy:
 
 
 - void **normalmap_to_xy** **(** **)**
 - void **normalmap_to_xy** **(** **)**
 
 
+Converts the image's data to represent coordinates on a 3D plane. This is used when the image represents a normalmap. A normalmap can add lots of detail to a 3D surface without increasing the polygon count.
+
 .. _class_Image_premultiply_alpha:
 .. _class_Image_premultiply_alpha:
 
 
 - void **premultiply_alpha** **(** **)**
 - void **premultiply_alpha** **(** **)**
 
 
+Multiplies color values with alpha values. Resulting color values for a pixel are ``(color \* alpha)/256``.
+
 .. _class_Image_resize:
 .. _class_Image_resize:
 
 
 - void **resize** **(** :ref:`int<class_int>` width, :ref:`int<class_int>` height, :ref:`int<class_int>` interpolation=1 **)**
 - void **resize** **(** :ref:`int<class_int>` width, :ref:`int<class_int>` height, :ref:`int<class_int>` interpolation=1 **)**
 
 
+Resizes the image to the given ``width`` and ``height``. New pixels are calculated using ``interpolation``. See ``interpolation`` constants.
+
 .. _class_Image_resize_to_po2:
 .. _class_Image_resize_to_po2:
 
 
 - void **resize_to_po2** **(** :ref:`bool<class_bool>` square=false **)**
 - void **resize_to_po2** **(** :ref:`bool<class_bool>` square=false **)**
 
 
+Resizes the image to the nearest power of 2 for the width and height. If ``square`` is ``true`` then set width and height to be the same.
+
 .. _class_Image_save_png:
 .. _class_Image_save_png:
 
 
 - :ref:`int<class_int>` **save_png** **(** :ref:`String<class_string>` path **)** const
 - :ref:`int<class_int>` **save_png** **(** :ref:`String<class_string>` path **)** const
 
 
-Save this :ref:`Image<class_image>` as a png.
+Saves the image as a PNG file to ``path``.
 
 
 .. _class_Image_set_pixel:
 .. _class_Image_set_pixel:
 
 
 - void **set_pixel** **(** :ref:`int<class_int>` x, :ref:`int<class_int>` y, :ref:`Color<class_color>` color **)**
 - void **set_pixel** **(** :ref:`int<class_int>` x, :ref:`int<class_int>` y, :ref:`Color<class_color>` color **)**
 
 
+Sets the :ref:`Color<class_color>` of the pixel at ``(x, y)`` if the image is unlocked. Example:
+
+``
+
+var img = Image.new()
+
+img.lock()
+
+img.set_pixel(x, y, color) # Does not have an effect
+
+img.unlock()
+
+img.set_pixel(x, y, color) # Works
+
+``.
+
 .. _class_Image_shrink_x2:
 .. _class_Image_shrink_x2:
 
 
 - void **shrink_x2** **(** **)**
 - void **shrink_x2** **(** **)**
 
 
+Shrinks the image by a factor of 2.
+
 .. _class_Image_srgb_to_linear:
 .. _class_Image_srgb_to_linear:
 
 
 - void **srgb_to_linear** **(** **)**
 - void **srgb_to_linear** **(** **)**
 
 
+Converts the raw data from the sRGB colorspace to a linear scale.
+
 .. _class_Image_unlock:
 .. _class_Image_unlock:
 
 
 - void **unlock** **(** **)**
 - void **unlock** **(** **)**
 
 
+Unlocks the data for writing access.
+
 
 

+ 9 - 9
classes/class_imagetexture.rst

@@ -60,7 +60,7 @@ Member Function Description
 
 
 - void **create** **(** :ref:`int<class_int>` width, :ref:`int<class_int>` height, :ref:`int<class_int>` format, :ref:`int<class_int>` flags=7 **)**
 - void **create** **(** :ref:`int<class_int>` width, :ref:`int<class_int>` height, :ref:`int<class_int>` format, :ref:`int<class_int>` flags=7 **)**
 
 
-Create a new :ref:`ImageTexture<class_imagetexture>` with "width" and "height".
+Create a new ``ImageTexture`` with "width" and "height".
 
 
 "format" one of :ref:`Image<class_image>`.FORMAT\_\*.
 "format" one of :ref:`Image<class_image>`.FORMAT\_\*.
 
 
@@ -70,43 +70,43 @@ Create a new :ref:`ImageTexture<class_imagetexture>` with "width" and "height".
 
 
 - void **create_from_image** **(** :ref:`Image<class_image>` image, :ref:`int<class_int>` flags=7 **)**
 - void **create_from_image** **(** :ref:`Image<class_image>` image, :ref:`int<class_int>` flags=7 **)**
 
 
-Create a new :ref:`ImageTexture<class_imagetexture>` from an :ref:`Image<class_image>` with "flags" from :ref:`Texture<class_texture>`.FLAG\_\*.
+Create a new ``ImageTexture`` from an :ref:`Image<class_image>` with "flags" from :ref:`Texture<class_texture>`.FLAG\_\*.
 
 
 .. _class_ImageTexture_get_format:
 .. _class_ImageTexture_get_format:
 
 
 - :ref:`int<class_int>` **get_format** **(** **)** const
 - :ref:`int<class_int>` **get_format** **(** **)** const
 
 
-Return the format of the :ref:`ImageTexture<class_imagetexture>`, one of :ref:`Image<class_image>`.FORMAT\_\*.
+Return the format of the ``ImageTexture``, one of :ref:`Image<class_image>`.FORMAT\_\*.
 
 
 .. _class_ImageTexture_get_lossy_storage_quality:
 .. _class_ImageTexture_get_lossy_storage_quality:
 
 
 - :ref:`float<class_float>` **get_lossy_storage_quality** **(** **)** const
 - :ref:`float<class_float>` **get_lossy_storage_quality** **(** **)** const
 
 
-Return the storage quality for :ref:`ImageTexture<class_imagetexture>`.STORAGE_COMPRESS_LOSSY.
+Return the storage quality for ``ImageTexture``.STORAGE_COMPRESS_LOSSY.
 
 
 .. _class_ImageTexture_get_storage:
 .. _class_ImageTexture_get_storage:
 
 
 - :ref:`int<class_int>` **get_storage** **(** **)** const
 - :ref:`int<class_int>` **get_storage** **(** **)** const
 
 
-Return the storage type. One of :ref:`ImageTexture<class_imagetexture>`.STORAGE\_\*.
+Return the storage type. One of ``ImageTexture``.STORAGE\_\*.
 
 
 .. _class_ImageTexture_load:
 .. _class_ImageTexture_load:
 
 
 - void **load** **(** :ref:`String<class_string>` path **)**
 - void **load** **(** :ref:`String<class_string>` path **)**
 
 
-Load an :ref:`ImageTexture<class_imagetexture>`.
+Load an ``ImageTexture``.
 
 
 .. _class_ImageTexture_set_data:
 .. _class_ImageTexture_set_data:
 
 
 - void **set_data** **(** :ref:`Image<class_image>` image **)**
 - void **set_data** **(** :ref:`Image<class_image>` image **)**
 
 
-Set the :ref:`Image<class_image>` of this :ref:`ImageTexture<class_imagetexture>`.
+Set the :ref:`Image<class_image>` of this ``ImageTexture``.
 
 
 .. _class_ImageTexture_set_lossy_storage_quality:
 .. _class_ImageTexture_set_lossy_storage_quality:
 
 
 - void **set_lossy_storage_quality** **(** :ref:`float<class_float>` quality **)**
 - void **set_lossy_storage_quality** **(** :ref:`float<class_float>` quality **)**
 
 
-Set the storage quality in case of :ref:`ImageTexture<class_imagetexture>`.STORAGE_COMPRESS_LOSSY.
+Set the storage quality in case of ``ImageTexture``.STORAGE_COMPRESS_LOSSY.
 
 
 .. _class_ImageTexture_set_size_override:
 .. _class_ImageTexture_set_size_override:
 
 
@@ -118,6 +118,6 @@ Resizes the ``ImageTexture`` to the specified dimensions.
 
 
 - void **set_storage** **(** :ref:`int<class_int>` mode **)**
 - void **set_storage** **(** :ref:`int<class_int>` mode **)**
 
 
-Set the storage type. One of :ref:`ImageTexture<class_imagetexture>`.STORAGE\_\*.
+Set the storage type. One of ``ImageTexture``.STORAGE\_\*.
 
 
 
 

+ 1 - 1
classes/class_inputeventjoypadmotion.rst

@@ -14,7 +14,7 @@ InputEventJoypadMotion
 Brief Description
 Brief Description
 -----------------
 -----------------
 
 
-Input event type for gamepad joysticks and other motions. For buttons see :ref:`InputEventJoypadMotion<class_inputeventjoypadmotion>`.
+Input event type for gamepad joysticks and other motions. For buttons see ``InputEventJoypadMotion``.
 
 
 Member Functions
 Member Functions
 ----------------
 ----------------

+ 1 - 1
classes/class_inputmap.rst

@@ -71,7 +71,7 @@ Returns true if an action has an :ref:`InputEvent<class_inputevent>` associated
 
 
 - void **add_action** **(** :ref:`String<class_string>` action **)**
 - void **add_action** **(** :ref:`String<class_string>` action **)**
 
 
-Adds an (empty) action to the :ref:`InputMap<class_inputmap>`. An :ref:`InputEvent<class_inputevent>` can then be added to this action with :ref:`action_add_event<class_InputMap_action_add_event>`.
+Adds an (empty) action to the ``InputMap``. An :ref:`InputEvent<class_inputevent>` can then be added to this action with :ref:`action_add_event<class_InputMap_action_add_event>`.
 
 
 .. _class_InputMap_erase_action:
 .. _class_InputMap_erase_action:
 
 

+ 4 - 4
classes/class_joint2d.rst

@@ -44,19 +44,19 @@ Member Variables
 
 
   .. _class_Joint2D_bias:
   .. _class_Joint2D_bias:
 
 
-- :ref:`float<class_float>` **bias**
+- :ref:`float<class_float>` **bias** - When :ref:`node_a<class_Joint2D_node_a>` and :ref:`node_b<class_Joint2D_node_b>` move in different directions the ``bias`` controls how fast the joint pulls them back to their original position. The lower the ``bias`` the more the two bodies can pull on the joint. Default value: ``0``
 
 
   .. _class_Joint2D_disable_collision:
   .. _class_Joint2D_disable_collision:
 
 
-- :ref:`bool<class_bool>` **disable_collision**
+- :ref:`bool<class_bool>` **disable_collision** - 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:
   .. _class_Joint2D_node_a:
 
 
-- :ref:`NodePath<class_nodepath>` **node_a**
+- :ref:`NodePath<class_nodepath>` **node_a** - The first body attached to the joint. Must derive from :ref:`PhysicsBody2D<class_physicsbody2d>`.
 
 
   .. _class_Joint2D_node_b:
   .. _class_Joint2D_node_b:
 
 
-- :ref:`NodePath<class_nodepath>` **node_b**
+- :ref:`NodePath<class_nodepath>` **node_b** - The second body attached to the joint. Must derive from :ref:`PhysicsBody2D<class_physicsbody2d>`.
 
 
 
 
 Description
 Description

+ 1 - 1
classes/class_jsonparseresult.rst

@@ -70,7 +70,7 @@ Member Variables
 Description
 Description
 -----------
 -----------
 
 
-Returned by :ref:`JSON.parse<class_JSON_parse>`, :ref:`JSONParseResult<class_jsonparseresult>` contains decoded JSON or error information if JSON source not successfully parsed. You can check if JSON source was successfully parsed with ``if json_result.error == 0``.
+Returned by :ref:`JSON.parse<class_JSON_parse>`, ``JSONParseResult`` contains decoded JSON or error information if JSON source not successfully parsed. You can check if JSON source was successfully parsed with ``if json_result.error == 0``.
 
 
 Member Function Description
 Member Function Description
 ---------------------------
 ---------------------------

+ 1 - 1
classes/class_kinematicbody.rst

@@ -113,7 +113,7 @@ Moves the body along the vector ``rel_vec``. The body will stop if it collides.
 
 
 - :ref:`Vector3<class_vector3>` **move_and_slide** **(** :ref:`Vector3<class_vector3>` linear_velocity, :ref:`Vector3<class_vector3>` floor_normal=Vector3( 0, 0, 0 ), :ref:`float<class_float>` slope_stop_min_velocity=0.05, :ref:`int<class_int>` max_slides=4, :ref:`float<class_float>` floor_max_angle=0.785398 **)**
 - :ref:`Vector3<class_vector3>` **move_and_slide** **(** :ref:`Vector3<class_vector3>` linear_velocity, :ref:`Vector3<class_vector3>` floor_normal=Vector3( 0, 0, 0 ), :ref:`float<class_float>` slope_stop_min_velocity=0.05, :ref:`int<class_int>` max_slides=4, :ref:`float<class_float>` floor_max_angle=0.785398 **)**
 
 
-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 :ref:`KinematicBody<class_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.
+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 with ``delta`` — this is done by the method.
 
 

+ 1 - 1
classes/class_kinematicbody2d.rst

@@ -113,7 +113,7 @@ Moves the body along the vector ``rel_vec``. The body will stop if it collides.
 
 
 - :ref:`Vector2<class_vector2>` **move_and_slide** **(** :ref:`Vector2<class_vector2>` linear_velocity, :ref:`Vector2<class_vector2>` floor_normal=Vector2( 0, 0 ), :ref:`float<class_float>` slope_stop_min_velocity=5, :ref:`int<class_int>` max_bounces=4, :ref:`float<class_float>` floor_max_angle=0.785398 **)**
 - :ref:`Vector2<class_vector2>` **move_and_slide** **(** :ref:`Vector2<class_vector2>` linear_velocity, :ref:`Vector2<class_vector2>` floor_normal=Vector2( 0, 0 ), :ref:`float<class_float>` slope_stop_min_velocity=5, :ref:`int<class_int>` max_bounces=4, :ref:`float<class_float>` floor_max_angle=0.785398 **)**
 
 
-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 :ref:`KinematicBody2D<class_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.
+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 with ``delta`` — this is done by the method.
 
 

+ 1 - 0
classes/class_light.rst

@@ -119,6 +119,7 @@ Numeric Constants
 - **PARAM_SHADOW_SPLIT_3_OFFSET** = **10**
 - **PARAM_SHADOW_SPLIT_3_OFFSET** = **10**
 - **PARAM_SHADOW_NORMAL_BIAS** = **11**
 - **PARAM_SHADOW_NORMAL_BIAS** = **11**
 - **PARAM_SHADOW_BIAS** = **12**
 - **PARAM_SHADOW_BIAS** = **12**
+- **PARAM_SHADOW_BIAS_SPLIT_SCALE** = **13**
 - **PARAM_MAX** = **14**
 - **PARAM_MAX** = **14**
 
 
 Description
 Description

+ 45 - 44
classes/class_lineedit.rst

@@ -84,13 +84,13 @@ Signals
 
 
 - **text_changed** **(** :ref:`String<class_string>` text **)**
 - **text_changed** **(** :ref:`String<class_string>` text **)**
 
 
-When the text changes, this signal is emitted.
+Emitted when the text changes.
 
 
 .. _class_LineEdit_text_entered:
 .. _class_LineEdit_text_entered:
 
 
 - **text_entered** **(** :ref:`String<class_string>` text **)**
 - **text_entered** **(** :ref:`String<class_string>` text **)**
 
 
-This signal is emitted when the user presses KEY_ENTER on the :ref:`LineEdit<class_lineedit>`. This signal is often used as an alternate confirmation mechanism in dialogs.
+Emitted when the user presses KEY_ENTER on the ``LineEdit``.
 
 
 
 
 Member Variables
 Member Variables
@@ -98,62 +98,62 @@ Member Variables
 
 
   .. _class_LineEdit_align:
   .. _class_LineEdit_align:
 
 
-- :ref:`int<class_int>` **align**
+- :ref:`int<class_int>` **align** - Text alignment as defined in the ALIGN\_\* enum.
 
 
   .. _class_LineEdit_caret_blink:
   .. _class_LineEdit_caret_blink:
 
 
-- :ref:`bool<class_bool>` **caret_blink**
+- :ref:`bool<class_bool>` **caret_blink** - If ``true`` the caret (visual cursor) blinks.
 
 
   .. _class_LineEdit_caret_blink_speed:
   .. _class_LineEdit_caret_blink_speed:
 
 
-- :ref:`float<class_float>` **caret_blink_speed**
+- :ref:`float<class_float>` **caret_blink_speed** - Duration (in seconds) of a caret's blinking cycle.
 
 
   .. _class_LineEdit_editable:
   .. _class_LineEdit_editable:
 
 
-- :ref:`bool<class_bool>` **editable**
+- :ref:`bool<class_bool>` **editable** - If ``false`` existing text cannot be modified and new text cannot be added.
 
 
   .. _class_LineEdit_expand_to_len:
   .. _class_LineEdit_expand_to_len:
 
 
-- :ref:`bool<class_bool>` **expand_to_len**
+- :ref:`bool<class_bool>` **expand_to_len** - 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:
   .. _class_LineEdit_focus_mode:
 
 
-- :ref:`int<class_int>` **focus_mode**
+- :ref:`int<class_int>` **focus_mode** - Defines how the :ref:`LineEdit<class_lineedit>` can grab focus (Keyboard and mouse, only keyboard, or none). See ``enum FocusMode`` in :ref:`Control<class_control>` for details.
 
 
   .. _class_LineEdit_max_length:
   .. _class_LineEdit_max_length:
 
 
-- :ref:`int<class_int>` **max_length**
+- :ref:`int<class_int>` **max_length** - Maximum amount of characters that can be entered inside the :ref:`LineEdit<class_lineedit>`. If ``0``, there is no limit.
 
 
   .. _class_LineEdit_placeholder_alpha:
   .. _class_LineEdit_placeholder_alpha:
 
 
-- :ref:`float<class_float>` **placeholder_alpha**
+- :ref:`float<class_float>` **placeholder_alpha** - Opacity of the :ref:`placeholder_text<class_LineEdit_placeholder_text>`. From ``0`` to ``1``.
 
 
   .. _class_LineEdit_placeholder_text:
   .. _class_LineEdit_placeholder_text:
 
 
-- :ref:`String<class_string>` **placeholder_text**
+- :ref:`String<class_string>` **placeholder_text** - Text shown when the :ref:`LineEdit<class_lineedit>` is empty. It is **not** the :ref:`LineEdit<class_lineedit>`'s default value (see :ref:`text<class_LineEdit_text>`).
 
 
   .. _class_LineEdit_secret:
   .. _class_LineEdit_secret:
 
 
-- :ref:`bool<class_bool>` **secret**
+- :ref:`bool<class_bool>` **secret** - If ``true`` every character is shown as "\*".
 
 
   .. _class_LineEdit_text:
   .. _class_LineEdit_text:
 
 
-- :ref:`String<class_string>` **text**
+- :ref:`String<class_string>` **text** - String value of the :ref:`LineEdit<class_lineedit>`.
 
 
 
 
 Numeric Constants
 Numeric Constants
 -----------------
 -----------------
 
 
-- **ALIGN_LEFT** = **0** --- Align left.
-- **ALIGN_CENTER** = **1** --- Align center.
-- **ALIGN_RIGHT** = **2** --- Align right.
-- **ALIGN_FILL** = **3** --- Align fill.
-- **MENU_CUT** = **0** --- Cut (Copy and clear).
-- **MENU_COPY** = **1** --- Copy the selected text.
-- **MENU_PASTE** = **2** --- Paste the clipboard text over the selected text.
-- **MENU_CLEAR** = **3** --- Clear the text.
-- **MENU_SELECT_ALL** = **4** --- Select all text.
-- **MENU_UNDO** = **5** --- Undo an action.
+- **ALIGN_LEFT** = **0** --- Aligns the text on the left hand side of the :ref:`LineEdit<class_lineedit>`.
+- **ALIGN_CENTER** = **1** --- Centers the text in the middle of the :ref:`LineEdit<class_lineedit>`.
+- **ALIGN_RIGHT** = **2** --- Aligns the text on the right hand side of the :ref:`LineEdit<class_lineedit>`.
+- **ALIGN_FILL** = **3** --- Stretches whitespaces to fit the :ref:`LineEdit<class_lineedit>`'s width.
+- **MENU_CUT** = **0** --- Cuts (Copies and clears) the selected text.
+- **MENU_COPY** = **1** --- Copies the selected text.
+- **MENU_PASTE** = **2** --- Pastes the clipboard text over the selected text (or at the cursor's position).
+- **MENU_CLEAR** = **3** --- Erases the whole Linedit text.
+- **MENU_SELECT_ALL** = **4** --- Selects the whole Linedit text.
+- **MENU_UNDO** = **5** --- Undoes the previous action.
 - **MENU_MAX** = **6**
 - **MENU_MAX** = **6**
 
 
 Description
 Description
@@ -168,13 +168,13 @@ Member Function Description
 
 
 - void **append_at_cursor** **(** :ref:`String<class_string>` text **)**
 - void **append_at_cursor** **(** :ref:`String<class_string>` text **)**
 
 
-Append text at cursor, scrolling the :ref:`LineEdit<class_lineedit>` when needed.
+Adds ``text`` after the cursor. If the resulting value is longer than :ref:`max_length<class_LineEdit_max_length>`, nothing happens.
 
 
 .. _class_LineEdit_clear:
 .. _class_LineEdit_clear:
 
 
 - void **clear** **(** **)**
 - void **clear** **(** **)**
 
 
-Clear the :ref:`LineEdit<class_lineedit>` text.
+Erases the :ref:`LineEdit<class_lineedit>` text.
 
 
 .. _class_LineEdit_cursor_get_blink_enabled:
 .. _class_LineEdit_cursor_get_blink_enabled:
 
 
@@ -204,13 +204,13 @@ Set the line edit caret blink speed. Cannot be less then or equal to 0.
 
 
 - :ref:`int<class_int>` **get_align** **(** **)** const
 - :ref:`int<class_int>` **get_align** **(** **)** const
 
 
-Return the align mode of the :ref:`LineEdit<class_lineedit>`.
+Return the align mode of the ``LineEdit``.
 
 
 .. _class_LineEdit_get_cursor_position:
 .. _class_LineEdit_get_cursor_position:
 
 
 - :ref:`int<class_int>` **get_cursor_position** **(** **)** const
 - :ref:`int<class_int>` **get_cursor_position** **(** **)** const
 
 
-Return the cursor position inside the :ref:`LineEdit<class_lineedit>`.
+Returns the cursor position inside the ``LineEdit``.
 
 
 .. _class_LineEdit_get_expand_to_text_length:
 .. _class_LineEdit_get_expand_to_text_length:
 
 
@@ -220,13 +220,13 @@ Return the cursor position inside the :ref:`LineEdit<class_lineedit>`.
 
 
 - :ref:`int<class_int>` **get_max_length** **(** **)** const
 - :ref:`int<class_int>` **get_max_length** **(** **)** const
 
 
-Return the maximum amount of characters the :ref:`LineEdit<class_lineedit>` can edit. If 0 is returned, no limit exists.
+Return the maximum amount of characters the ``LineEdit`` can edit. If 0 is returned, no limit exists.
 
 
 .. _class_LineEdit_get_menu:
 .. _class_LineEdit_get_menu:
 
 
 - :ref:`PopupMenu<class_popupmenu>` **get_menu** **(** **)** const
 - :ref:`PopupMenu<class_popupmenu>` **get_menu** **(** **)** const
 
 
-Return the :ref:`PopupMenu<class_popupmenu>` of this :ref:`LineEdit<class_lineedit>`.
+Returns the :ref:`PopupMenu<class_popupmenu>` of this ``LineEdit``. By default, this menu is displayed when right-clicking on the :ref:`LineEdit<class_lineedit>`.
 
 
 .. _class_LineEdit_get_placeholder:
 .. _class_LineEdit_get_placeholder:
 
 
@@ -244,61 +244,62 @@ Return transparency of the placeholder text.
 
 
 - :ref:`String<class_string>` **get_text** **(** **)** const
 - :ref:`String<class_string>` **get_text** **(** **)** const
 
 
-Return the text in the :ref:`LineEdit<class_lineedit>`.
+Return the text in the ``LineEdit``.
 
 
 .. _class_LineEdit_is_editable:
 .. _class_LineEdit_is_editable:
 
 
 - :ref:`bool<class_bool>` **is_editable** **(** **)** const
 - :ref:`bool<class_bool>` **is_editable** **(** **)** const
 
 
-Return the *editable* status of the :ref:`LineEdit<class_lineedit>` (see :ref:`set_editable<class_LineEdit_set_editable>`).
+Return the *editable* status of the ``LineEdit`` (see :ref:`set_editable<class_LineEdit_set_editable>`).
 
 
 .. _class_LineEdit_is_secret:
 .. _class_LineEdit_is_secret:
 
 
 - :ref:`bool<class_bool>` **is_secret** **(** **)** const
 - :ref:`bool<class_bool>` **is_secret** **(** **)** const
 
 
-Return the *secret* status of the :ref:`LineEdit<class_lineedit>` (see :ref:`set_secret<class_LineEdit_set_secret>`).
+Return the *secret* status of the ``LineEdit`` (see :ref:`set_secret<class_LineEdit_set_secret>`).
 
 
 .. _class_LineEdit_menu_option:
 .. _class_LineEdit_menu_option:
 
 
 - void **menu_option** **(** :ref:`int<class_int>` option **)**
 - void **menu_option** **(** :ref:`int<class_int>` option **)**
 
 
-Execute a given action as defined in the MENU\_\* enum.
+Executes a given action as defined in the MENU\_\* enum.
 
 
 .. _class_LineEdit_select:
 .. _class_LineEdit_select:
 
 
 - void **select** **(** :ref:`int<class_int>` from=0, :ref:`int<class_int>` to=-1 **)**
 - void **select** **(** :ref:`int<class_int>` from=0, :ref:`int<class_int>` to=-1 **)**
 
 
-Select the text inside :ref:`LineEdit<class_lineedit>` by the given character positions. ``from`` is default to the beginning. ``to`` is default to the end.
+Selects characters inside :ref:`LineEdit<class_lineedit>` between ``from`` and ``to``. By default ``from`` is at the beginning and ``to`` at the end.
 
 
 ::
 ::
 
 
-    select()     # select all
-    select(5)    # select from the fifth character to the end.
-    select(2, 5) # select from the second to the fifth character.
+    text = "Welcome"
+    select()     # Welcome
+    select(4)    # ome
+    select(2, 5) # lco
 
 
 .. _class_LineEdit_select_all:
 .. _class_LineEdit_select_all:
 
 
 - void **select_all** **(** **)**
 - void **select_all** **(** **)**
 
 
-Select the whole string.
+Selects the whole :ref:`String<class_string>`.
 
 
 .. _class_LineEdit_set_align:
 .. _class_LineEdit_set_align:
 
 
 - void **set_align** **(** :ref:`int<class_int>` align **)**
 - void **set_align** **(** :ref:`int<class_int>` align **)**
 
 
-Set text alignment of the :ref:`LineEdit<class_lineedit>`.
+Set text alignment of the ``LineEdit``.
 
 
 .. _class_LineEdit_set_cursor_position:
 .. _class_LineEdit_set_cursor_position:
 
 
 - void **set_cursor_position** **(** :ref:`int<class_int>` position **)**
 - void **set_cursor_position** **(** :ref:`int<class_int>` position **)**
 
 
-Set the cursor position inside the :ref:`LineEdit<class_lineedit>`, causing it to scroll if needed.
+Sets the cursor position inside the ``LineEdit``. The text may scroll if needed.
 
 
 .. _class_LineEdit_set_editable:
 .. _class_LineEdit_set_editable:
 
 
 - void **set_editable** **(** :ref:`bool<class_bool>` enabled **)**
 - void **set_editable** **(** :ref:`bool<class_bool>` enabled **)**
 
 
-Set the *editable* status of the :ref:`LineEdit<class_lineedit>`. When disabled, existing text can't be modified and new text can't be added.
+Set the *editable* status of the ``LineEdit``. When disabled, existing text can't be modified and new text can't be added.
 
 
 .. _class_LineEdit_set_expand_to_text_length:
 .. _class_LineEdit_set_expand_to_text_length:
 
 
@@ -308,7 +309,7 @@ Set the *editable* status of the :ref:`LineEdit<class_lineedit>`. When disabled,
 
 
 - void **set_max_length** **(** :ref:`int<class_int>` chars **)**
 - void **set_max_length** **(** :ref:`int<class_int>` chars **)**
 
 
-Set the maximum amount of characters the :ref:`LineEdit<class_lineedit>` can edit, and cropping existing text in case it exceeds that limit. Setting 0 removes the limit.
+Set the maximum amount of characters the ``LineEdit`` can edit, and cropping existing text in case it exceeds that limit. Setting 0 removes the limit.
 
 
 .. _class_LineEdit_set_placeholder:
 .. _class_LineEdit_set_placeholder:
 
 
@@ -326,12 +327,12 @@ Set transparency of the placeholder text.
 
 
 - void **set_secret** **(** :ref:`bool<class_bool>` enabled **)**
 - void **set_secret** **(** :ref:`bool<class_bool>` enabled **)**
 
 
-Set the *secret* status of the :ref:`LineEdit<class_lineedit>`. When enabled, every character is displayed as "\*".
+Set the *secret* status of the ``LineEdit``. When enabled, every character is displayed as "\*".
 
 
 .. _class_LineEdit_set_text:
 .. _class_LineEdit_set_text:
 
 
 - void **set_text** **(** :ref:`String<class_string>` text **)**
 - void **set_text** **(** :ref:`String<class_string>` text **)**
 
 
-Set the text in the :ref:`LineEdit<class_lineedit>`, clearing the existing one and the selection.
+Set the text in the ``LineEdit``, clearing the existing one and the selection.
 
 
 
 

+ 1 - 1
classes/class_linkbutton.rst

@@ -78,6 +78,6 @@ Sets the text of the button.
 
 
 - void **set_underline_mode** **(** :ref:`int<class_int>` underline_mode **)**
 - void **set_underline_mode** **(** :ref:`int<class_int>` underline_mode **)**
 
 
-Sets the underline mode for this button, the argument must be one of the :ref:`LinkButton<class_linkbutton>` constants (see constants section).
+Sets the underline mode for this button, the argument must be one of the ``LinkButton`` constants (see constants section).
 
 
 
 

+ 2 - 1
classes/class_mainloop.rst

@@ -57,6 +57,7 @@ Numeric Constants
 - **NOTIFICATION_WM_FOCUS_IN** = **4**
 - **NOTIFICATION_WM_FOCUS_IN** = **4**
 - **NOTIFICATION_WM_FOCUS_OUT** = **5**
 - **NOTIFICATION_WM_FOCUS_OUT** = **5**
 - **NOTIFICATION_WM_QUIT_REQUEST** = **6**
 - **NOTIFICATION_WM_QUIT_REQUEST** = **6**
+- **NOTIFICATION_WM_GO_BACK_REQUEST** = **7**
 - **NOTIFICATION_WM_UNFOCUS_REQUEST** = **8**
 - **NOTIFICATION_WM_UNFOCUS_REQUEST** = **8**
 - **NOTIFICATION_OS_MEMORY_WARNING** = **9**
 - **NOTIFICATION_OS_MEMORY_WARNING** = **9**
 - **NOTIFICATION_TRANSLATION_CHANGED** = **90**
 - **NOTIFICATION_TRANSLATION_CHANGED** = **90**
@@ -65,7 +66,7 @@ Numeric Constants
 Description
 Description
 -----------
 -----------
 
 
-Main loop is the abstract main loop base class. All other main loop classes are derived from it. Upon application start, a :ref:`MainLoop<class_mainloop>` has to be provided to OS, else the application will exit. This happens automatically (and a :ref:`SceneTree<class_scenetree>` is created), unless a main :ref:`Script<class_script>` is supplied, which may or not create and return a :ref:`MainLoop<class_mainloop>`.
+Main loop is the abstract main loop base class. All other main loop classes are derived from it. Upon application start, a ``MainLoop`` has to be provided to OS, else the application will exit. This happens automatically (and a :ref:`SceneTree<class_scenetree>` is created), unless a main :ref:`Script<class_script>` is supplied, which may or not create and return a ``MainLoop``.
 
 
 Member Function Description
 Member Function Description
 ---------------------------
 ---------------------------

+ 3 - 3
classes/class_mutex.rst

@@ -39,18 +39,18 @@ Member Function Description
 
 
 - void **lock** **(** **)**
 - void **lock** **(** **)**
 
 
-Lock this :ref:`Mutex<class_mutex>`, blocks until it is unlocked by the current owner.
+Lock this ``Mutex``, blocks until it is unlocked by the current owner.
 
 
 .. _class_Mutex_try_lock:
 .. _class_Mutex_try_lock:
 
 
 - :ref:`int<class_int>` **try_lock** **(** **)**
 - :ref:`int<class_int>` **try_lock** **(** **)**
 
 
-Try locking this :ref:`Mutex<class_mutex>`, does not block. Returns OK on success else ERR_BUSY.
+Try locking this ``Mutex``, does not block. Returns OK on success else ERR_BUSY.
 
 
 .. _class_Mutex_unlock:
 .. _class_Mutex_unlock:
 
 
 - void **unlock** **(** **)**
 - void **unlock** **(** **)**
 
 
-Unlock this :ref:`Mutex<class_mutex>`, leaving it to others threads.
+Unlock this ``Mutex``, leaving it to others threads.
 
 
 
 

+ 2 - 2
classes/class_networkedmultiplayerpeer.rst

@@ -104,7 +104,7 @@ Member Function Description
 
 
 - :ref:`bool<class_bool>` **is_refusing_new_connections** **(** **)** const
 - :ref:`bool<class_bool>` **is_refusing_new_connections** **(** **)** const
 
 
-Return whether this :ref:`NetworkedMultiplayerPeer<class_networkedmultiplayerpeer>` is refusing new connections.
+Return whether this ``NetworkedMultiplayerPeer`` is refusing new connections.
 
 
 .. _class_NetworkedMultiplayerPeer_poll:
 .. _class_NetworkedMultiplayerPeer_poll:
 
 
@@ -114,7 +114,7 @@ Return whether this :ref:`NetworkedMultiplayerPeer<class_networkedmultiplayerpee
 
 
 - void **set_refuse_new_connections** **(** :ref:`bool<class_bool>` enable **)**
 - void **set_refuse_new_connections** **(** :ref:`bool<class_bool>` enable **)**
 
 
-If ``endable`` is true, this :ref:`NetworkedMultiplayerPeer<class_networkedmultiplayerpeer>` will refuse new connections.
+If ``endable`` is true, this ``NetworkedMultiplayerPeer`` will refuse new connections.
 
 
 .. _class_NetworkedMultiplayerPeer_set_target_peer:
 .. _class_NetworkedMultiplayerPeer_set_target_peer:
 
 

+ 11 - 11
classes/class_node.rst

@@ -240,12 +240,12 @@ Numeric Constants
 - **NOTIFICATION_EXIT_TREE** = **11**
 - **NOTIFICATION_EXIT_TREE** = **11**
 - **NOTIFICATION_MOVED_IN_PARENT** = **12**
 - **NOTIFICATION_MOVED_IN_PARENT** = **12**
 - **NOTIFICATION_READY** = **13**
 - **NOTIFICATION_READY** = **13**
+- **NOTIFICATION_PAUSED** = **14**
+- **NOTIFICATION_UNPAUSED** = **15**
 - **NOTIFICATION_PHYSICS_PROCESS** = **16** --- Notification received every frame when the physics process flag is set (see :ref:`set_physics_process<class_Node_set_physics_process>`).
 - **NOTIFICATION_PHYSICS_PROCESS** = **16** --- Notification received every frame when the physics process flag is set (see :ref:`set_physics_process<class_Node_set_physics_process>`).
 - **NOTIFICATION_PROCESS** = **17** --- Notification received every frame when the process flag is set (see :ref:`set_process<class_Node_set_process>`).
 - **NOTIFICATION_PROCESS** = **17** --- Notification received every frame when the process flag is set (see :ref:`set_process<class_Node_set_process>`).
 - **NOTIFICATION_PARENTED** = **18** --- Notification received when a node is set as a child of another node. Note that this doesn't mean that a node entered the Scene Tree.
 - **NOTIFICATION_PARENTED** = **18** --- Notification received when a node is set as a child of another node. Note that this doesn't mean that a node entered the Scene Tree.
 - **NOTIFICATION_UNPARENTED** = **19** --- Notification received when a node is unparented (parent removed it from the list of children).
 - **NOTIFICATION_UNPARENTED** = **19** --- Notification received when a node is unparented (parent removed it from the list of children).
-- **NOTIFICATION_PAUSED** = **14**
-- **NOTIFICATION_UNPAUSED** = **15**
 - **NOTIFICATION_INSTANCED** = **20**
 - **NOTIFICATION_INSTANCED** = **20**
 - **NOTIFICATION_DRAG_BEGIN** = **21**
 - **NOTIFICATION_DRAG_BEGIN** = **21**
 - **NOTIFICATION_DRAG_END** = **22**
 - **NOTIFICATION_DRAG_END** = **22**
@@ -287,7 +287,7 @@ To keep track of the scene hierarchy (especially when instancing scenes into oth
 
 
 Finally, when a node is freed with :ref:`free<class_Node_free>` or :ref:`queue_free<class_Node_queue_free>`, it will also free all its children.
 Finally, when a node is freed with :ref:`free<class_Node_free>` or :ref:`queue_free<class_Node_queue_free>`, it will also free all its children.
 
 
-**Networking with nodes:** After connecting to a server (or making one, see :ref:`NetworkedMultiplayerENet<class_networkedmultiplayerenet>`) it is possible to use the built-in RPC (remote procedure call) system to easily communicate over the network. By calling :ref:`rpc<class_Node_rpc>` with a method name, it will be called locally, and in all connected peers (peers = clients and the server that accepts connections), with behaviour varying depending on the network mode (:ref:`set_network_mode<class_Node_set_network_mode>`) on the receiving peer. To identify which :ref:`Node<class_node>` receives the RPC call Godot will use its :ref:`NodePath<class_nodepath>` (make sure node names are the same on all peers).
+**Networking with nodes:** After connecting to a server (or making one, see :ref:`NetworkedMultiplayerENet<class_networkedmultiplayerenet>`) it is possible to use the built-in RPC (remote procedure call) system to easily communicate over the network. By calling :ref:`rpc<class_Node_rpc>` with a method name, it will be called locally, and in all connected peers (peers = clients and the server that accepts connections), with behaviour varying depending on the network mode (:ref:`set_network_mode<class_Node_set_network_mode>`) on the receiving peer. To identify which ``Node`` receives the RPC call Godot will use its :ref:`NodePath<class_nodepath>` (make sure node names are the same on all peers).
 
 
 Member Function Description
 Member Function Description
 ---------------------------
 ---------------------------
@@ -356,7 +356,7 @@ Propagated to all nodes when the previous InputEvent is not consumed by any node
 
 
 - void **add_child** **(** :ref:`Node<class_node>` node, :ref:`bool<class_bool>` legible_unique_name=false **)**
 - void **add_child** **(** :ref:`Node<class_node>` node, :ref:`bool<class_bool>` legible_unique_name=false **)**
 
 
-Add a child :ref:`Node<class_node>`. Nodes can have as many children as they want, but every child must have a unique name. Children nodes are automatically deleted when the parent node is deleted, so deleting a whole scene is performed by deleting its topmost node.
+Add a child ``Node``. Nodes can have as many children as they want, but every child must have a unique name. Children nodes are automatically deleted when the parent node is deleted, so deleting a whole scene is performed by deleting its topmost node.
 
 
 The optional boolean argument enforces creating child nodes with human-readable names, based on the name of the node being instanced instead of its type only.
 The optional boolean argument enforces creating child nodes with human-readable names, based on the name of the node being instanced instead of its type only.
 
 
@@ -368,7 +368,7 @@ The optional boolean argument enforces creating child nodes with human-readable
 
 
 - void **add_to_group** **(** :ref:`String<class_string>` group, :ref:`bool<class_bool>` persistent=false **)**
 - void **add_to_group** **(** :ref:`String<class_string>` group, :ref:`bool<class_bool>` persistent=false **)**
 
 
-Add a node to a group. Groups are helpers to name and organize a subset of nodes, like for example "enemies" or "collectables". A :ref:`Node<class_node>` can be in any number of groups. Nodes can be assigned a group at any time, but will not be added to it until they are inside the scene tree (see :ref:`is_inside_tree<class_Node_is_inside_tree>`).
+Add a node to a group. Groups are helpers to name and organize a subset of nodes, like for example "enemies" or "collectables". A ``Node`` can be in any number of groups. Nodes can be assigned a group at any time, but will not be added to it until they are inside the scene tree (see :ref:`is_inside_tree<class_Node_is_inside_tree>`).
 
 
 .. _class_Node_can_process:
 .. _class_Node_can_process:
 
 
@@ -380,7 +380,7 @@ Return true if the node can process, i.e. whether its pause mode allows processi
 
 
 - :ref:`Node<class_node>` **duplicate** **(** :ref:`int<class_int>` flags=15 **)** const
 - :ref:`Node<class_node>` **duplicate** **(** :ref:`int<class_int>` flags=15 **)** const
 
 
-Duplicate the node, returning a new :ref:`Node<class_node>`.
+Duplicate the node, returning a new ``Node``.
 
 
 You can fine-tune the behavior using the ``flags``, which are based on the DUPLICATE\_\* constants.
 You can fine-tune the behavior using the ``flags``, which are based on the DUPLICATE\_\* constants.
 
 
@@ -406,7 +406,7 @@ Return the amount of child nodes.
 
 
 - :ref:`Array<class_array>` **get_children** **(** **)** const
 - :ref:`Array<class_array>` **get_children** **(** **)** const
 
 
-Return an array of references (:ref:`Node<class_node>`) to the child nodes.
+Return an array of references (``Node``) to the child nodes.
 
 
 .. _class_Node_get_filename:
 .. _class_Node_get_filename:
 
 
@@ -480,7 +480,7 @@ Get the node owner (see :ref:`set_owner<class_Node_set_owner>`).
 
 
 - :ref:`Node<class_node>` **get_parent** **(** **)** const
 - :ref:`Node<class_node>` **get_parent** **(** **)** const
 
 
-Return the parent node of the current node, or an empty :ref:`Node<class_node>` if the node lacks a parent.
+Return the parent node of the current node, or an empty ``Node`` if the node lacks a parent.
 
 
 .. _class_Node_get_path:
 .. _class_Node_get_path:
 
 
@@ -630,7 +630,7 @@ Print the scene to stdout. Used mainly for debugging purposes.
 
 
 - void **propagate_call** **(** :ref:`String<class_string>` method, :ref:`Array<class_array>` args=[  ], :ref:`bool<class_bool>` parent_first=false **)**
 - void **propagate_call** **(** :ref:`String<class_string>` method, :ref:`Array<class_array>` args=[  ], :ref:`bool<class_bool>` parent_first=false **)**
 
 
-Calls the method (if present) with the arguments given in "args" on this Node and recursively on all children. If the parent_first argument is true then the method will be called on the current :ref:`Node<class_node>` first, then on all children. If it is false then the children will get called first.
+Calls the method (if present) with the arguments given in "args" on this Node and recursively on all children. If the parent_first argument is true then the method will be called on the current ``Node`` first, then on all children. If it is false then the children will get called first.
 
 
 .. _class_Node_propagate_notification:
 .. _class_Node_propagate_notification:
 
 
@@ -660,7 +660,7 @@ Remove a node and set all its children as children of the parent node (if exists
 
 
 - void **remove_child** **(** :ref:`Node<class_node>` node **)**
 - void **remove_child** **(** :ref:`Node<class_node>` node **)**
 
 
-Remove a child :ref:`Node<class_node>`. Node is NOT deleted and will have to be deleted manually.
+Remove a child ``Node``. Node is NOT deleted and will have to be deleted manually.
 
 
 .. _class_Node_remove_from_group:
 .. _class_Node_remove_from_group:
 
 
@@ -754,7 +754,7 @@ A node can contain a filename. This filename should not be changed by the user,
 
 
 - void **set_name** **(** :ref:`String<class_string>` name **)**
 - void **set_name** **(** :ref:`String<class_string>` name **)**
 
 
-Set the name of the :ref:`Node<class_node>`. Name must be unique within parent, and setting an already existing name will cause for the node to be automatically renamed.
+Set the name of the ``Node``. Name must be unique within parent, and setting an already existing name will cause for the node to be automatically renamed.
 
 
 .. _class_Node_set_network_master:
 .. _class_Node_set_network_master:
 
 

+ 25 - 21
classes/class_node2d.rst

@@ -120,15 +120,15 @@ Member Variables
 
 
   .. _class_Node2D_rotation:
   .. _class_Node2D_rotation:
 
 
-- :ref:`float<class_float>` **rotation** - Rotation in radians.
+- :ref:`float<class_float>` **rotation** - Rotation in radians, relative to the node's parent.
 
 
   .. _class_Node2D_rotation_deg:
   .. _class_Node2D_rotation_deg:
 
 
-- :ref:`float<class_float>` **rotation_deg** - Rotation in degrees.
+- :ref:`float<class_float>` **rotation_deg** - Rotation in degrees, relative to the node's parent.
 
 
   .. _class_Node2D_scale:
   .. _class_Node2D_scale:
 
 
-- :ref:`Vector2<class_vector2>` **scale** - Rotation in degrees.
+- :ref:`Vector2<class_vector2>` **scale** - The node's scale. Unscaled value: ``(1, 1)``
 
 
   .. _class_Node2D_transform:
   .. _class_Node2D_transform:
 
 
@@ -140,7 +140,7 @@ Member Variables
 
 
   .. _class_Node2D_z_as_relative:
   .. _class_Node2D_z_as_relative:
 
 
-- :ref:`bool<class_bool>` **z_as_relative** - Make the node's Z-index 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.
+- :ref:`bool<class_bool>` **z_as_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.
 
 
 
 
 Description
 Description
@@ -161,7 +161,7 @@ Multiplies the current scale by the 'ratio' vector.
 
 
 - void **edit_set_pivot** **(** :ref:`Vector2<class_vector2>` pivot **)**
 - void **edit_set_pivot** **(** :ref:`Vector2<class_vector2>` pivot **)**
 
 
-Set the pivot position of the 2D node to 'pivot' value. Only some Node2Ds implement this method.
+Sets the node's pivot position.
 
 
 .. _class_Node2D_get_angle_to:
 .. _class_Node2D_get_angle_to:
 
 
@@ -251,104 +251,108 @@ Rotates the node so it points towards the 'point'.
 
 
 - void **move_local_x** **(** :ref:`float<class_float>` delta, :ref:`bool<class_bool>` scaled=false **)**
 - void **move_local_x** **(** :ref:`float<class_float>` delta, :ref:`bool<class_bool>` scaled=false **)**
 
 
-Apply a local translation on the node's X axis based on the process's 'delta'. If 'scaled' is false, normalizes the movement.
+Applies a local translation on the node's X axis based on the :ref:`Node._process<class_Node__process>`'s ``delta``. If ``scaled`` is false, normalizes the movement.
 
 
 .. _class_Node2D_move_local_y:
 .. _class_Node2D_move_local_y:
 
 
 - void **move_local_y** **(** :ref:`float<class_float>` delta, :ref:`bool<class_bool>` scaled=false **)**
 - void **move_local_y** **(** :ref:`float<class_float>` delta, :ref:`bool<class_bool>` scaled=false **)**
 
 
-Apply a local translation on the node's Y axis based on the process's 'delta'. If 'scaled' is false, normalizes the movement.
+Applies a local translation on the node's Y axis based on the :ref:`Node._process<class_Node__process>`'s ``delta``. If ``scaled`` is false, normalizes the movement.
 
 
 .. _class_Node2D_rotate:
 .. _class_Node2D_rotate:
 
 
 - void **rotate** **(** :ref:`float<class_float>` radians **)**
 - void **rotate** **(** :ref:`float<class_float>` radians **)**
 
 
-Apply a rotation to the node, in radians, starting from its current rotation.
+Applies a rotation to the node, in radians, starting from its current rotation.
 
 
 .. _class_Node2D_set_global_position:
 .. _class_Node2D_set_global_position:
 
 
 - void **set_global_position** **(** :ref:`Vector2<class_vector2>` position **)**
 - void **set_global_position** **(** :ref:`Vector2<class_vector2>` position **)**
 
 
-Set the node's global position.
+Sets the node's global position.
 
 
 .. _class_Node2D_set_global_rotation:
 .. _class_Node2D_set_global_rotation:
 
 
 - void **set_global_rotation** **(** :ref:`float<class_float>` radians **)**
 - void **set_global_rotation** **(** :ref:`float<class_float>` radians **)**
 
 
-Set the node's global rotation in radians.
+Sets the node's global rotation in radians.
 
 
 .. _class_Node2D_set_global_rotation_in_degrees:
 .. _class_Node2D_set_global_rotation_in_degrees:
 
 
 - void **set_global_rotation_in_degrees** **(** :ref:`float<class_float>` degrees **)**
 - void **set_global_rotation_in_degrees** **(** :ref:`float<class_float>` degrees **)**
 
 
-Set the node's global rotation in degrees.
+Sets the node's global rotation in degrees.
 
 
 .. _class_Node2D_set_global_scale:
 .. _class_Node2D_set_global_scale:
 
 
 - void **set_global_scale** **(** :ref:`Vector2<class_vector2>` scale **)**
 - void **set_global_scale** **(** :ref:`Vector2<class_vector2>` scale **)**
 
 
-Set the node's global scale.
+Sets the node's global scale.
 
 
 .. _class_Node2D_set_global_transform:
 .. _class_Node2D_set_global_transform:
 
 
 - void **set_global_transform** **(** :ref:`Transform2D<class_transform2d>` xform **)**
 - void **set_global_transform** **(** :ref:`Transform2D<class_transform2d>` xform **)**
 
 
-Set the node's global :ref:`Transform2D<class_transform2d>`.
+Sets the node's global :ref:`Transform2D<class_transform2d>`.
 
 
 .. _class_Node2D_set_position:
 .. _class_Node2D_set_position:
 
 
 - void **set_position** **(** :ref:`Vector2<class_vector2>` position **)**
 - void **set_position** **(** :ref:`Vector2<class_vector2>` position **)**
 
 
-Set the node's position.
+Sets the node's position.
 
 
 .. _class_Node2D_set_rotation:
 .. _class_Node2D_set_rotation:
 
 
 - void **set_rotation** **(** :ref:`float<class_float>` radians **)**
 - void **set_rotation** **(** :ref:`float<class_float>` radians **)**
 
 
-Set the node's rotation in radians.
+Sets the node's rotation in radians.
 
 
 .. _class_Node2D_set_rotation_in_degrees:
 .. _class_Node2D_set_rotation_in_degrees:
 
 
 - void **set_rotation_in_degrees** **(** :ref:`float<class_float>` degrees **)**
 - void **set_rotation_in_degrees** **(** :ref:`float<class_float>` degrees **)**
 
 
-Set the node's rotation in degrees.
+Sets the node's rotation in degrees.
 
 
 .. _class_Node2D_set_scale:
 .. _class_Node2D_set_scale:
 
 
 - void **set_scale** **(** :ref:`Vector2<class_vector2>` scale **)**
 - void **set_scale** **(** :ref:`Vector2<class_vector2>` scale **)**
 
 
-Set the node's scale.
+Sets the node's scale.
 
 
 .. _class_Node2D_set_transform:
 .. _class_Node2D_set_transform:
 
 
 - void **set_transform** **(** :ref:`Transform2D<class_transform2d>` xform **)**
 - void **set_transform** **(** :ref:`Transform2D<class_transform2d>` xform **)**
 
 
-Set the node's local :ref:`Transform2D<class_transform2d>`.
+Sets the node's local :ref:`Transform2D<class_transform2d>`.
 
 
 .. _class_Node2D_set_z:
 .. _class_Node2D_set_z:
 
 
 - void **set_z** **(** :ref:`int<class_int>` z **)**
 - void **set_z** **(** :ref:`int<class_int>` z **)**
 
 
-Set the node's Z-index.
+Sets the node's Z-index.
 
 
 .. _class_Node2D_set_z_as_relative:
 .. _class_Node2D_set_z_as_relative:
 
 
 - void **set_z_as_relative** **(** :ref:`bool<class_bool>` enable **)**
 - void **set_z_as_relative** **(** :ref:`bool<class_bool>` enable **)**
 
 
-Make the node's Z-index 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.
+Makes the node's Z-index 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_to_global:
 .. _class_Node2D_to_global:
 
 
 - :ref:`Vector2<class_vector2>` **to_global** **(** :ref:`Vector2<class_vector2>` local_point **)** const
 - :ref:`Vector2<class_vector2>` **to_global** **(** :ref:`Vector2<class_vector2>` local_point **)** const
 
 
+Converts a local point's coordinates to global coordinates.
+
 .. _class_Node2D_to_local:
 .. _class_Node2D_to_local:
 
 
 - :ref:`Vector2<class_vector2>` **to_local** **(** :ref:`Vector2<class_vector2>` global_point **)** const
 - :ref:`Vector2<class_vector2>` **to_local** **(** :ref:`Vector2<class_vector2>` global_point **)** const
 
 
+Converts a global point's coordinates to local coordinates.
+
 .. _class_Node2D_translate:
 .. _class_Node2D_translate:
 
 
 - void **translate** **(** :ref:`Vector2<class_vector2>` offset **)**
 - void **translate** **(** :ref:`Vector2<class_vector2>` offset **)**
 
 
-Translate the node locally by the 'offset' vector, starting from its current local position.
+Translates the node by the given ``offset`` in local coordinates.
 
 
 
 

+ 2 - 2
classes/class_nodepath.rst

@@ -40,9 +40,9 @@ Description
 
 
 A pre-parsed relative or absolute path in a scene tree, for use with :ref:`Node.get_node<class_Node_get_node>` and similar functions. It can reference a node, a resource within a node, or a property of a node or resource. For instance, ``"Path2D/PathFollow2D/Sprite:texture:size"`` would refer to the size property of the texture resource on the node named "Sprite" which is a child of the other named nodes in the path. Note that if you want to get a resource, you must end the path with a colon, otherwise the last element will be used as a property name.
 A pre-parsed relative or absolute path in a scene tree, for use with :ref:`Node.get_node<class_Node_get_node>` and similar functions. It can reference a node, a resource within a node, or a property of a node or resource. For instance, ``"Path2D/PathFollow2D/Sprite:texture:size"`` would refer to the size property of the texture resource on the node named "Sprite" which is a child of the other named nodes in the path. Note that if you want to get a resource, you must end the path with a colon, otherwise the last element will be used as a property name.
 
 
-You will usually just pass a string to :ref:`Node.get_node<class_Node_get_node>` and it will be automatically converted, but you may occasionally want to parse a path ahead of time with :ref:`NodePath<class_nodepath>` or the literal syntax ``@"path"``. Exporting a :ref:`NodePath<class_nodepath>` variable will give you a node selection widget in the properties panel of the editor, which can often be useful.
+You will usually just pass a string to :ref:`Node.get_node<class_Node_get_node>` and it will be automatically converted, but you may occasionally want to parse a path ahead of time with ``NodePath`` or the literal syntax ``@"path"``. Exporting a ``NodePath`` variable will give you a node selection widget in the properties panel of the editor, which can often be useful.
 
 
-A :ref:`NodePath<class_nodepath>` is made up of a list of node names, a list of "subnode" (resource) names, and the name of a property in the final node or resource.
+A ``NodePath`` is made up of a list of node names, a list of "subnode" (resource) names, and the name of a property in the final node or resource.
 
 
 Member Function Description
 Member Function Description
 ---------------------------
 ---------------------------

+ 12 - 7
classes/class_occluderpolygon2d.rst

@@ -14,7 +14,7 @@ OccluderPolygon2D
 Brief Description
 Brief Description
 -----------------
 -----------------
 
 
-
+Defines a 2D polygon for LightOccluder2D.
 
 
 Member Functions
 Member Functions
 ----------------
 ----------------
@@ -38,23 +38,28 @@ Member Variables
 
 
   .. _class_OccluderPolygon2D_closed:
   .. _class_OccluderPolygon2D_closed:
 
 
-- :ref:`bool<class_bool>` **closed**
+- :ref:`bool<class_bool>` **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``.
 
 
   .. _class_OccluderPolygon2D_cull_mode:
   .. _class_OccluderPolygon2D_cull_mode:
 
 
-- :ref:`int<class_int>` **cull_mode**
+- :ref:`int<class_int>` **cull_mode** - Set the direction of the occlusion culling when not ``CULL_DISABLED``. Default value ``DISABLED``.
 
 
   .. _class_OccluderPolygon2D_polygon:
   .. _class_OccluderPolygon2D_polygon:
 
 
-- :ref:`PoolVector2Array<class_poolvector2array>` **polygon**
+- :ref:`PoolVector2Array<class_poolvector2array>` **polygon** - A :ref:`Vector2<class_vector2>` array with the index for polygon's vertices positions.
 
 
 
 
 Numeric Constants
 Numeric Constants
 -----------------
 -----------------
 
 
-- **CULL_DISABLED** = **0**
-- **CULL_CLOCKWISE** = **1**
-- **CULL_COUNTER_CLOCKWISE** = **2**
+- **CULL_DISABLED** = **0** --- Culling mode for the occlusion. Disabled means no culling. See :ref:`cull_mode<class_OccluderPolygon2D_cull_mode>`.
+- **CULL_CLOCKWISE** = **1** --- Culling mode for the occlusion. Sets the culling to be in clockwise direction. See :ref:`cull_mode<class_OccluderPolygon2D_cull_mode>`.
+- **CULL_COUNTER_CLOCKWISE** = **2** --- Culling mode for the occlusion. Sets the culling to be in counter clockwise direction. See :ref:`cull_mode<class_OccluderPolygon2D_cull_mode>`.
+
+Description
+-----------
+
+Editor facility that helps you draw a 2D polygon used as resource for :ref:`LightOccluder2D<class_lightoccluder2d>`.
 
 
 Member Function Description
 Member Function Description
 ---------------------------
 ---------------------------

+ 1 - 1
classes/class_optionbutton.rst

@@ -113,7 +113,7 @@ Add a separator to the list of items. Separators help to group items. Separator
 
 
 - void **clear** **(** **)**
 - void **clear** **(** **)**
 
 
-Clear all the items in the :ref:`OptionButton<class_optionbutton>`.
+Clear all the items in the ``OptionButton``.
 
 
 .. _class_OptionButton_get_item_count:
 .. _class_OptionButton_get_item_count:
 
 

+ 1 - 1
classes/class_os.rst

@@ -408,7 +408,7 @@ Returns the path to the current engine executable.
 
 
 Returns the current latin keyboard variant as a String.
 Returns the current latin keyboard variant as a String.
 
 
-Possible return values are: "QWERTY", "AZERTY", "QZERTY", "DVORAK", "NEO" or "ERROR"
+Possible return values are: "QWERTY", "AZERTY", "QZERTY", "DVORAK", "NEO", "COLEMAK" or "ERROR".
 
 
 .. _class_OS_get_locale:
 .. _class_OS_get_locale:
 
 

+ 3 - 3
classes/class_packetpeerudp.rst

@@ -47,7 +47,7 @@ Member Function Description
 
 
 - void **close** **(** **)**
 - void **close** **(** **)**
 
 
-Close the UDP socket the :ref:`PacketPeerUDP<class_packetpeerudp>` is currently listening on.
+Close the UDP socket the ``PacketPeerUDP`` is currently listening on.
 
 
 .. _class_PacketPeerUDP_get_packet_ip:
 .. _class_PacketPeerUDP_get_packet_ip:
 
 
@@ -65,13 +65,13 @@ Return the port of the remote peer that sent the last packet(that was received w
 
 
 - :ref:`bool<class_bool>` **is_listening** **(** **)** const
 - :ref:`bool<class_bool>` **is_listening** **(** **)** const
 
 
-Return whether this :ref:`PacketPeerUDP<class_packetpeerudp>` is listening.
+Return whether this ``PacketPeerUDP`` is listening.
 
 
 .. _class_PacketPeerUDP_listen:
 .. _class_PacketPeerUDP_listen:
 
 
 - :ref:`int<class_int>` **listen** **(** :ref:`int<class_int>` port, :ref:`String<class_string>` bind_address="*", :ref:`int<class_int>` recv_buf_size=65536 **)**
 - :ref:`int<class_int>` **listen** **(** :ref:`int<class_int>` port, :ref:`String<class_string>` bind_address="*", :ref:`int<class_int>` recv_buf_size=65536 **)**
 
 
-Make this :ref:`PacketPeerUDP<class_packetpeerudp>` listen on the "port" binding to "bind_address" with a buffer size "recv_buf_size".
+Make this ``PacketPeerUDP`` listen on the "port" binding to "bind_address" with a buffer size "recv_buf_size".
 
 
 If "bind_address" is set as "\*" (default), the peer will listen on all available addresses (both IPv4 and IPv6).
 If "bind_address" is set as "\*" (default), the peer will listen on all available addresses (both IPv4 and IPv6).
 
 

+ 7 - 7
classes/class_parallaxbackground.rst

@@ -50,33 +50,33 @@ Member Variables
 
 
   .. _class_ParallaxBackground_scroll_base_offset:
   .. _class_ParallaxBackground_scroll_base_offset:
 
 
-- :ref:`Vector2<class_vector2>` **scroll_base_offset**
+- :ref:`Vector2<class_vector2>` **scroll_base_offset** - Base position offset of all :ref:`ParallaxLayer<class_parallaxlayer>` children.
 
 
   .. _class_ParallaxBackground_scroll_base_scale:
   .. _class_ParallaxBackground_scroll_base_scale:
 
 
-- :ref:`Vector2<class_vector2>` **scroll_base_scale**
+- :ref:`Vector2<class_vector2>` **scroll_base_scale** - Base motion scale of all :ref:`ParallaxLayer<class_parallaxlayer>` children.
 
 
   .. _class_ParallaxBackground_scroll_ignore_camera_zoom:
   .. _class_ParallaxBackground_scroll_ignore_camera_zoom:
 
 
-- :ref:`bool<class_bool>` **scroll_ignore_camera_zoom**
+- :ref:`bool<class_bool>` **scroll_ignore_camera_zoom** - If ``true`` elements in :ref:`ParallaxLayer<class_parallaxlayer>` child aren't affected by the zoom level of the camera.
 
 
   .. _class_ParallaxBackground_scroll_limit_begin:
   .. _class_ParallaxBackground_scroll_limit_begin:
 
 
-- :ref:`Vector2<class_vector2>` **scroll_limit_begin**
+- :ref:`Vector2<class_vector2>` **scroll_limit_begin** - Top left limits for scrolling to begin. If the camera is outside of this limit the background will stop scrolling. Must be lower than :ref:`scroll_limit_end<class_ParallaxBackground_scroll_limit_end>` to work.
 
 
   .. _class_ParallaxBackground_scroll_limit_end:
   .. _class_ParallaxBackground_scroll_limit_end:
 
 
-- :ref:`Vector2<class_vector2>` **scroll_limit_end**
+- :ref:`Vector2<class_vector2>` **scroll_limit_end** - Right bottom limits for scrolling to end. If the camera is outside of this limit the background will stop scrolling. Must be higher than :ref:`scroll_limit_begin<class_ParallaxBackground_scroll_limit_begin>` to work.
 
 
   .. _class_ParallaxBackground_scroll_offset:
   .. _class_ParallaxBackground_scroll_offset:
 
 
-- :ref:`Vector2<class_vector2>` **scroll_offset**
+- :ref:`Vector2<class_vector2>` **scroll_offset** - The ParallaxBackground's scroll value. Calculated automatically when using a :ref:`Camera2D<class_camera2d>`, but can be used to manually manage scrolling when no camera is present.
 
 
 
 
 Description
 Description
 -----------
 -----------
 
 
-A ParallaxBackground will use one or more :ref:`ParallaxLayer<class_parallaxlayer>` nodes to create a parallax scrolling background. Each :ref:`ParallaxLayer<class_parallaxlayer>` can be set to move at different speeds relative to the camera movement, this can be used to create an illusion of depth in a 2D game.
+A ParallaxBackground uses one or more :ref:`ParallaxLayer<class_parallaxlayer>` child nodes to create a parallax effect. Each :ref:`ParallaxLayer<class_parallaxlayer>` can move at a different speed using :ref:`ParallaxLayer.motion_offset<class_ParallaxLayer_motion_offset>`. This creates an illusion of depth in a 2D game. If not used with a :ref:`Camera2D<class_camera2d>`, you must manually calculate the :ref:`scroll_offset<class_ParallaxBackground_scroll_offset>`.
 
 
 Member Function Description
 Member Function Description
 ---------------------------
 ---------------------------

+ 6 - 4
classes/class_parallaxlayer.rst

@@ -38,21 +38,23 @@ Member Variables
 
 
   .. _class_ParallaxLayer_motion_mirroring:
   .. _class_ParallaxLayer_motion_mirroring:
 
 
-- :ref:`Vector2<class_vector2>` **motion_mirroring**
+- :ref:`Vector2<class_vector2>` **motion_mirroring** - The ParallaxLayer's :ref:`Texture<class_texture>` mirroring. Useful for creating an infinite scrolling background. If an axis is set to ``0`` the :ref:`Texture<class_texture>` will not be mirrored. Default value: ``(0, 0)``.
 
 
   .. _class_ParallaxLayer_motion_offset:
   .. _class_ParallaxLayer_motion_offset:
 
 
-- :ref:`Vector2<class_vector2>` **motion_offset**
+- :ref:`Vector2<class_vector2>` **motion_offset** - The ParallaxLayer's offset relative to the parent ParallaxBackground's :ref:`ParallaxBackground.scroll_offset<class_ParallaxBackground_scroll_offset>`.
 
 
   .. _class_ParallaxLayer_motion_scale:
   .. _class_ParallaxLayer_motion_scale:
 
 
-- :ref:`Vector2<class_vector2>` **motion_scale**
+- :ref:`Vector2<class_vector2>` **motion_scale** - Multiplies the ParallaxLayer's motion. If an axis is set to ``0`` it will not scroll.
 
 
 
 
 Description
 Description
 -----------
 -----------
 
 
-A ParallaxLayer must be the child of a :ref:`ParallaxBackground<class_parallaxbackground>` node. All child nodes will be affected by the parallax scrolling of this layer.
+A ParallaxLayer must be the child of a :ref:`ParallaxBackground<class_parallaxbackground>` node. Each ParallaxLayer can be set to move at different speeds relative to the camera movement or the :ref:`ParallaxBackground.scroll_offset<class_ParallaxBackground_scroll_offset>` value.
+
+This node's children will be affected by its scroll offset.
 
 
 Member Function Description
 Member Function Description
 ---------------------------
 ---------------------------

+ 3 - 3
classes/class_path2d.rst

@@ -14,7 +14,7 @@ Path2D
 Brief Description
 Brief Description
 -----------------
 -----------------
 
 
-Container for a :ref:`Curve2D<class_curve2d>`.
+Contains a :ref:`Curve2D<class_curve2d>` path for :ref:`PathFollow2D<class_pathfollow2d>` nodes to follow.
 
 
 Member Functions
 Member Functions
 ----------------
 ----------------
@@ -30,13 +30,13 @@ Member Variables
 
 
   .. _class_Path2D_curve:
   .. _class_Path2D_curve:
 
 
-- :ref:`Curve2D<class_curve2d>` **curve**
+- :ref:`Curve2D<class_curve2d>` **curve** - A :ref:`Curve2D<class_curve2d>` describing the path.
 
 
 
 
 Description
 Description
 -----------
 -----------
 
 
-This class is a container/Node-ification of a :ref:`Curve2D<class_curve2d>`, so it can have :ref:`Node2D<class_node2d>` properties and :ref:`Node<class_node>` info.
+Can have :ref:`PathFollow2D<class_pathfollow2d>` child-nodes moving along the :ref:`Curve2D<class_curve2d>`. See :ref:`PathFollow2D<class_pathfollow2d>` for more information on this usage.
 
 
 Member Function Description
 Member Function Description
 ---------------------------
 ---------------------------

+ 1 - 1
classes/class_performance.rst

@@ -43,10 +43,10 @@ Numeric Constants
 - **RENDER_SHADER_CHANGES_IN_FRAME** = **14** --- Shader changes per frame. 3D only.
 - **RENDER_SHADER_CHANGES_IN_FRAME** = **14** --- Shader changes per frame. 3D only.
 - **RENDER_SURFACE_CHANGES_IN_FRAME** = **15** --- Render surface changes per frame. 3D only.
 - **RENDER_SURFACE_CHANGES_IN_FRAME** = **15** --- Render surface changes per frame. 3D only.
 - **RENDER_DRAW_CALLS_IN_FRAME** = **16** --- Draw calls per frame. 3D only.
 - **RENDER_DRAW_CALLS_IN_FRAME** = **16** --- Draw calls per frame. 3D only.
-- **RENDER_USAGE_VIDEO_MEM_TOTAL** = **20**
 - **RENDER_VIDEO_MEM_USED** = **17** --- Video memory used. Includes both texture and vertex memory.
 - **RENDER_VIDEO_MEM_USED** = **17** --- Video memory used. Includes both texture and vertex memory.
 - **RENDER_TEXTURE_MEM_USED** = **18** --- Texture memory used.
 - **RENDER_TEXTURE_MEM_USED** = **18** --- Texture memory used.
 - **RENDER_VERTEX_MEM_USED** = **19** --- Vertex memory used.
 - **RENDER_VERTEX_MEM_USED** = **19** --- Vertex memory used.
+- **RENDER_USAGE_VIDEO_MEM_TOTAL** = **20**
 - **PHYSICS_2D_ACTIVE_OBJECTS** = **21** --- Number of active :ref:`RigidBody2D<class_rigidbody2d>` nodes in the game.
 - **PHYSICS_2D_ACTIVE_OBJECTS** = **21** --- Number of active :ref:`RigidBody2D<class_rigidbody2d>` nodes in the game.
 - **PHYSICS_2D_COLLISION_PAIRS** = **22** --- Number of collision pairs in the 2D physics engine.
 - **PHYSICS_2D_COLLISION_PAIRS** = **22** --- Number of collision pairs in the 2D physics engine.
 - **PHYSICS_2D_ISLAND_COUNT** = **23** --- Number of islands in the 2D physics engine.
 - **PHYSICS_2D_ISLAND_COUNT** = **23** --- Number of islands in the 2D physics engine.

+ 1 - 1
classes/class_physics2ddirectspacestate.rst

@@ -40,8 +40,8 @@ Numeric Constants
 - **TYPE_MASK_KINEMATIC_BODY** = **2** --- Check for collisions with kinematic bodies.
 - **TYPE_MASK_KINEMATIC_BODY** = **2** --- Check for collisions with kinematic bodies.
 - **TYPE_MASK_RIGID_BODY** = **4** --- Check for collisions with rigid bodies.
 - **TYPE_MASK_RIGID_BODY** = **4** --- Check for collisions with rigid bodies.
 - **TYPE_MASK_CHARACTER_BODY** = **8** --- Check for collisions with rigid bodies in character mode.
 - **TYPE_MASK_CHARACTER_BODY** = **8** --- Check for collisions with rigid bodies in character mode.
-- **TYPE_MASK_AREA** = **16** --- Check for collisions with areas.
 - **TYPE_MASK_COLLISION** = **15** --- Check for collisions with any kind of bodies (but not areas).
 - **TYPE_MASK_COLLISION** = **15** --- Check for collisions with any kind of bodies (but not areas).
+- **TYPE_MASK_AREA** = **16** --- Check for collisions with areas.
 
 
 Description
 Description
 -----------
 -----------

+ 1 - 0
classes/class_physics2dserver.rst

@@ -204,6 +204,7 @@ Numeric Constants
 - **SPACE_PARAM_BODY_TIME_TO_SLEEP** = **5** --- Constant to set/get the maximum time of activity. A body marked as potentially inactive for both linear and angular velocity will be put to sleep after this time.
 - **SPACE_PARAM_BODY_TIME_TO_SLEEP** = **5** --- Constant to set/get the maximum time of activity. A body marked as potentially inactive for both linear and angular velocity will be put to sleep after this time.
 - **SPACE_PARAM_CONSTRAINT_DEFAULT_BIAS** = **6** --- Constant to set/get the default solver bias for all physics constraints. A solver bias is a factor controlling how much two objects "rebound", after violating a constraint, to avoid leaving them in that state because of numerical imprecision.
 - **SPACE_PARAM_CONSTRAINT_DEFAULT_BIAS** = **6** --- Constant to set/get the default solver bias for all physics constraints. A solver bias is a factor controlling how much two objects "rebound", after violating a constraint, to avoid leaving them in that state because of numerical imprecision.
 - **SHAPE_LINE** = **0** --- This is the constant for creating line shapes. A line shape is an infinite line with an origin point, and a normal. Thus, it can be used for front/behind checks.
 - **SHAPE_LINE** = **0** --- This is the constant for creating line shapes. A line shape is an infinite line with an origin point, and a normal. Thus, it can be used for front/behind checks.
+- **SHAPE_RAY** = **1**
 - **SHAPE_SEGMENT** = **2** --- This is the constant for creating segment shapes. A segment shape is a line from a point A to a point B. It can be checked for intersections.
 - **SHAPE_SEGMENT** = **2** --- This is the constant for creating segment shapes. A segment shape is a line from a point A to a point B. It can be checked for intersections.
 - **SHAPE_CIRCLE** = **3** --- This is the constant for creating circle shapes. A circle shape only has a radius. It can be used for intersections and inside/outside checks.
 - **SHAPE_CIRCLE** = **3** --- This is the constant for creating circle shapes. A circle shape only has a radius. It can be used for intersections and inside/outside checks.
 - **SHAPE_RECTANGLE** = **4** --- This is the constant for creating rectangle shapes. A rectangle shape is defined by a width and a height. It can be used for intersections and inside/outside checks.
 - **SHAPE_RECTANGLE** = **4** --- This is the constant for creating rectangle shapes. A rectangle shape is defined by a width and a height. It can be used for intersections and inside/outside checks.

+ 1 - 1
classes/class_physicsdirectspacestate.rst

@@ -38,8 +38,8 @@ Numeric Constants
 - **TYPE_MASK_KINEMATIC_BODY** = **2**
 - **TYPE_MASK_KINEMATIC_BODY** = **2**
 - **TYPE_MASK_RIGID_BODY** = **4**
 - **TYPE_MASK_RIGID_BODY** = **4**
 - **TYPE_MASK_CHARACTER_BODY** = **8**
 - **TYPE_MASK_CHARACTER_BODY** = **8**
-- **TYPE_MASK_AREA** = **16**
 - **TYPE_MASK_COLLISION** = **15**
 - **TYPE_MASK_COLLISION** = **15**
+- **TYPE_MASK_AREA** = **16**
 
 
 Member Function Description
 Member Function Description
 ---------------------------
 ---------------------------

+ 1 - 1
classes/class_physicsserver.rst

@@ -339,8 +339,8 @@ The higher, the faster.
 - **BODY_PARAM_FRICTION** = **1** --- Constant to set/get a body's friction.
 - **BODY_PARAM_FRICTION** = **1** --- Constant to set/get a body's friction.
 - **BODY_PARAM_MASS** = **2** --- Constant to set/get a body's mass.
 - **BODY_PARAM_MASS** = **2** --- Constant to set/get a body's mass.
 - **BODY_PARAM_GRAVITY_SCALE** = **3** --- Constant to set/get a body's gravity multiplier.
 - **BODY_PARAM_GRAVITY_SCALE** = **3** --- Constant to set/get a body's gravity multiplier.
-- **BODY_PARAM_ANGULAR_DAMP** = **5** --- Constant to set/get a body's angular dampening factor.
 - **BODY_PARAM_LINEAR_DAMP** = **4** --- Constant to set/get a body's linear dampening factor.
 - **BODY_PARAM_LINEAR_DAMP** = **4** --- Constant to set/get a body's linear dampening factor.
+- **BODY_PARAM_ANGULAR_DAMP** = **5** --- Constant to set/get a body's angular dampening factor.
 - **BODY_PARAM_MAX** = **6** --- This is the last ID for body parameters. Any attempt to set this property is ignored. Any attempt to get it returns 0.
 - **BODY_PARAM_MAX** = **6** --- This is the last ID for body parameters. Any attempt to set this property is ignored. Any attempt to get it returns 0.
 - **BODY_STATE_TRANSFORM** = **0** --- Constant to set/get the current transform matrix of the body.
 - **BODY_STATE_TRANSFORM** = **0** --- Constant to set/get the current transform matrix of the body.
 - **BODY_STATE_LINEAR_VELOCITY** = **1** --- Constant to set/get the current linear velocity of the body.
 - **BODY_STATE_LINEAR_VELOCITY** = **1** --- Constant to set/get the current linear velocity of the body.

+ 4 - 4
classes/class_poolbytearray.rst

@@ -73,19 +73,19 @@ Append an element at the end of the array (alias of :ref:`push_back<class_PoolBy
 
 
 - void **append_array** **(** :ref:`PoolByteArray<class_poolbytearray>` array **)**
 - void **append_array** **(** :ref:`PoolByteArray<class_poolbytearray>` array **)**
 
 
-Append a :ref:`PoolByteArray<class_poolbytearray>` at the end of this array.
+Append a ``PoolByteArray`` at the end of this array.
 
 
 .. _class_PoolByteArray_compress:
 .. _class_PoolByteArray_compress:
 
 
 - :ref:`PoolByteArray<class_poolbytearray>` **compress** **(** :ref:`int<class_int>` compression_mode=0 **)**
 - :ref:`PoolByteArray<class_poolbytearray>` **compress** **(** :ref:`int<class_int>` compression_mode=0 **)**
 
 
-Returns a new :ref:`PoolByteArray<class_poolbytearray>` with the data compressed. Set the compression mode using one of :ref:`File<class_file>`'s COMPRESS\_\* constants.
+Returns a new ``PoolByteArray`` with the data compressed. Set the compression mode using one of :ref:`File<class_file>`'s COMPRESS\_\* constants.
 
 
 .. _class_PoolByteArray_decompress:
 .. _class_PoolByteArray_decompress:
 
 
 - :ref:`PoolByteArray<class_poolbytearray>` **decompress** **(** :ref:`int<class_int>` buffer_size, :ref:`int<class_int>` compression_mode=0 **)**
 - :ref:`PoolByteArray<class_poolbytearray>` **decompress** **(** :ref:`int<class_int>` buffer_size, :ref:`int<class_int>` compression_mode=0 **)**
 
 
-Returns a new :ref:`PoolByteArray<class_poolbytearray>` with the data decompressed. Set buffer_size to the size of the uncompressed data. Set the compression mode using one of :ref:`File<class_file>`'s COMPRESS\_\* constants.
+Returns a new ``PoolByteArray`` with the data decompressed. Set buffer_size to the size of the uncompressed data. Set the compression mode using one of :ref:`File<class_file>`'s COMPRESS\_\* constants.
 
 
 .. _class_PoolByteArray_get_string_from_ascii:
 .. _class_PoolByteArray_get_string_from_ascii:
 
 
@@ -145,6 +145,6 @@ Return the size of the array.
 
 
 - :ref:`PoolByteArray<class_poolbytearray>` **subarray** **(** :ref:`int<class_int>` from, :ref:`int<class_int>` to **)**
 - :ref:`PoolByteArray<class_poolbytearray>` **subarray** **(** :ref:`int<class_int>` from, :ref:`int<class_int>` to **)**
 
 
-Returns the slice of the :ref:`PoolByteArray<class_poolbytearray>` between indices (inclusive) as a new :ref:`PoolByteArray<class_poolbytearray>`.  Any negative index is considered to be from the end of the array.
+Returns the slice of the ``PoolByteArray`` between indices (inclusive) as a new ``PoolByteArray``.  Any negative index is considered to be from the end of the array.
 
 
 
 

+ 1 - 1
classes/class_poolcolorarray.rst

@@ -63,7 +63,7 @@ Append an element at the end of the array (alias of :ref:`push_back<class_PoolCo
 
 
 - void **append_array** **(** :ref:`PoolColorArray<class_poolcolorarray>` array **)**
 - void **append_array** **(** :ref:`PoolColorArray<class_poolcolorarray>` array **)**
 
 
-Append a :ref:`PoolColorArray<class_poolcolorarray>` at the end of this array.
+Append a ``PoolColorArray`` at the end of this array.
 
 
 .. _class_PoolColorArray_insert:
 .. _class_PoolColorArray_insert:
 
 

+ 1 - 1
classes/class_poolintarray.rst

@@ -63,7 +63,7 @@ Append an element at the end of the array (alias of :ref:`push_back<class_PoolIn
 
 
 - void **append_array** **(** :ref:`PoolIntArray<class_poolintarray>` array **)**
 - void **append_array** **(** :ref:`PoolIntArray<class_poolintarray>` array **)**
 
 
-Append an :ref:`PoolIntArray<class_poolintarray>` at the end of this array.
+Append an ``PoolIntArray`` at the end of this array.
 
 
 .. _class_PoolIntArray_insert:
 .. _class_PoolIntArray_insert:
 
 

+ 2 - 2
classes/class_poolvector2array.rst

@@ -51,7 +51,7 @@ Member Function Description
 
 
 - :ref:`PoolVector2Array<class_poolvector2array>` **PoolVector2Array** **(** :ref:`Array<class_array>` from **)**
 - :ref:`PoolVector2Array<class_poolvector2array>` **PoolVector2Array** **(** :ref:`Array<class_array>` from **)**
 
 
-Construct a new :ref:`PoolVector2Array<class_poolvector2array>`. Optionally, you can pass in an Array that will be converted.
+Construct a new ``PoolVector2Array``. Optionally, you can pass in an Array that will be converted.
 
 
 .. _class_PoolVector2Array_append:
 .. _class_PoolVector2Array_append:
 
 
@@ -63,7 +63,7 @@ Append an element at the end of the array (alias of :ref:`push_back<class_PoolVe
 
 
 - void **append_array** **(** :ref:`PoolVector2Array<class_poolvector2array>` array **)**
 - void **append_array** **(** :ref:`PoolVector2Array<class_poolvector2array>` array **)**
 
 
-Append an :ref:`PoolVector2Array<class_poolvector2array>` at the end of this array.
+Append an ``PoolVector2Array`` at the end of this array.
 
 
 .. _class_PoolVector2Array_insert:
 .. _class_PoolVector2Array_insert:
 
 

+ 1 - 1
classes/class_poolvector3array.rst

@@ -63,7 +63,7 @@ Append an element at the end of the array (alias of :ref:`push_back<class_PoolVe
 
 
 - void **append_array** **(** :ref:`PoolVector3Array<class_poolvector3array>` array **)**
 - void **append_array** **(** :ref:`PoolVector3Array<class_poolvector3array>` array **)**
 
 
-Append an :ref:`PoolVector3Array<class_poolvector3array>` at the end of this array.
+Append an ``PoolVector3Array`` at the end of this array.
 
 
 .. _class_PoolVector3Array_insert:
 .. _class_PoolVector3Array_insert:
 
 

+ 20 - 6
classes/class_quat.rst

@@ -50,25 +50,31 @@ Member Variables
 
 
   .. _class_Quat_w:
   .. _class_Quat_w:
 
 
-- :ref:`float<class_float>` **w**
+- :ref:`float<class_float>` **w** - W component of the quaternion. Default value: ``1``
 
 
   .. _class_Quat_x:
   .. _class_Quat_x:
 
 
-- :ref:`float<class_float>` **x**
+- :ref:`float<class_float>` **x** - X component of the quaternion. Default value: ``0``
 
 
   .. _class_Quat_y:
   .. _class_Quat_y:
 
 
-- :ref:`float<class_float>` **y**
+- :ref:`float<class_float>` **y** - Y component of the quaternion. Default value: ``0``
 
 
   .. _class_Quat_z:
   .. _class_Quat_z:
 
 
-- :ref:`float<class_float>` **z**
+- :ref:`float<class_float>` **z** - Z component of the quaternion. Default value: ``0``
 
 
 
 
 Description
 Description
 -----------
 -----------
 
 
-Quaternion is a 4 dimensional vector that is used to represent a rotation. It mainly exists to perform SLERP (spherical-linear interpolation) between two rotations. Multiplying quaternions also cheaply reproduces rotation sequences. However quaternions need to be often renormalized, or else they suffer from precision issues.
+A 4-dimensional vector representing a rotation.
+
+The vector represents a 4 dimensional complex number where multiplication of the basis elements is not commutative (multiplying i with j gives a different result than multiplying j with i).
+
+Multiplying quaternions reproduces rotation sequences. However quaternions need to be often renormalized, or else they suffer from precision issues.
+
+It can be used to perform SLERP (spherical-linear interpolation) between two rotations.
 
 
 Member Function Description
 Member Function Description
 ---------------------------
 ---------------------------
@@ -77,6 +83,8 @@ Member Function Description
 
 
 - :ref:`Quat<class_quat>` **Quat** **(** :ref:`float<class_float>` x, :ref:`float<class_float>` y, :ref:`float<class_float>` z, :ref:`float<class_float>` w **)**
 - :ref:`Quat<class_quat>` **Quat** **(** :ref:`float<class_float>` x, :ref:`float<class_float>` y, :ref:`float<class_float>` z, :ref:`float<class_float>` w **)**
 
 
+Returns a quaternion defined by these values.
+
 .. _class_Quat_Quat:
 .. _class_Quat_Quat:
 
 
 - :ref:`Quat<class_quat>` **Quat** **(** :ref:`Vector3<class_vector3>` axis, :ref:`float<class_float>` angle **)**
 - :ref:`Quat<class_quat>` **Quat** **(** :ref:`Vector3<class_vector3>` axis, :ref:`float<class_float>` angle **)**
@@ -93,6 +101,8 @@ Returns the rotation matrix corresponding to the given quaternion.
 
 
 - :ref:`Quat<class_quat>` **cubic_slerp** **(** :ref:`Quat<class_quat>` b, :ref:`Quat<class_quat>` pre_a, :ref:`Quat<class_quat>` post_b, :ref:`float<class_float>` t **)**
 - :ref:`Quat<class_quat>` **cubic_slerp** **(** :ref:`Quat<class_quat>` b, :ref:`Quat<class_quat>` pre_a, :ref:`Quat<class_quat>` post_b, :ref:`float<class_float>` t **)**
 
 
+Performs a cubic spherical-linear interpolation with another quaternion.
+
 .. _class_Quat_dot:
 .. _class_Quat_dot:
 
 
 - :ref:`float<class_float>` **dot** **(** :ref:`Quat<class_quat>` b **)**
 - :ref:`float<class_float>` **dot** **(** :ref:`Quat<class_quat>` b **)**
@@ -133,14 +143,18 @@ Returns a copy of the quaternion, normalized to unit length.
 
 
 - :ref:`Quat<class_quat>` **slerp** **(** :ref:`Quat<class_quat>` b, :ref:`float<class_float>` t **)**
 - :ref:`Quat<class_quat>` **slerp** **(** :ref:`Quat<class_quat>` b, :ref:`float<class_float>` t **)**
 
 
-Perform a spherical-linear interpolation with another quaternion.
+Performs a spherical-linear interpolation with another quaternion.
 
 
 .. _class_Quat_slerpni:
 .. _class_Quat_slerpni:
 
 
 - :ref:`Quat<class_quat>` **slerpni** **(** :ref:`Quat<class_quat>` b, :ref:`float<class_float>` t **)**
 - :ref:`Quat<class_quat>` **slerpni** **(** :ref:`Quat<class_quat>` b, :ref:`float<class_float>` t **)**
 
 
+Performs a spherical-linear interpolation with another quaterion without checking if the rotation path is not bigger than 90°.
+
 .. _class_Quat_xform:
 .. _class_Quat_xform:
 
 
 - :ref:`Vector3<class_vector3>` **xform** **(** :ref:`Vector3<class_vector3>` v **)**
 - :ref:`Vector3<class_vector3>` **xform** **(** :ref:`Vector3<class_vector3>` v **)**
 
 
+Transforms the vector ``v`` by this quaternion.
+
 
 

+ 59 - 47
classes/class_raycast.rst

@@ -19,45 +19,49 @@ Query the closest object intersecting a ray.
 Member Functions
 Member Functions
 ----------------
 ----------------
 
 
-+--------------------------------+-------------------------------------------------------------------------------------------------------+
-| void                           | :ref:`add_exception<class_RayCast_add_exception>` **(** :ref:`Object<class_object>` node **)**        |
-+--------------------------------+-------------------------------------------------------------------------------------------------------+
-| void                           | :ref:`add_exception_rid<class_RayCast_add_exception_rid>` **(** :ref:`RID<class_rid>` rid **)**       |
-+--------------------------------+-------------------------------------------------------------------------------------------------------+
-| void                           | :ref:`clear_exceptions<class_RayCast_clear_exceptions>` **(** **)**                                   |
-+--------------------------------+-------------------------------------------------------------------------------------------------------+
-| void                           | :ref:`force_raycast_update<class_RayCast_force_raycast_update>` **(** **)**                           |
-+--------------------------------+-------------------------------------------------------------------------------------------------------+
-| :ref:`Vector3<class_vector3>`  | :ref:`get_cast_to<class_RayCast_get_cast_to>` **(** **)** const                                       |
-+--------------------------------+-------------------------------------------------------------------------------------------------------+
-| :ref:`Object<class_object>`    | :ref:`get_collider<class_RayCast_get_collider>` **(** **)** const                                     |
-+--------------------------------+-------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`          | :ref:`get_collider_shape<class_RayCast_get_collider_shape>` **(** **)** const                         |
-+--------------------------------+-------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`          | :ref:`get_collision_layer<class_RayCast_get_collision_layer>` **(** **)** const                       |
-+--------------------------------+-------------------------------------------------------------------------------------------------------+
-| :ref:`Vector3<class_vector3>`  | :ref:`get_collision_normal<class_RayCast_get_collision_normal>` **(** **)** const                     |
-+--------------------------------+-------------------------------------------------------------------------------------------------------+
-| :ref:`Vector3<class_vector3>`  | :ref:`get_collision_point<class_RayCast_get_collision_point>` **(** **)** const                       |
-+--------------------------------+-------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`          | :ref:`get_type_mask<class_RayCast_get_type_mask>` **(** **)** const                                   |
-+--------------------------------+-------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`        | :ref:`is_colliding<class_RayCast_is_colliding>` **(** **)** const                                     |
-+--------------------------------+-------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`        | :ref:`is_enabled<class_RayCast_is_enabled>` **(** **)** const                                         |
-+--------------------------------+-------------------------------------------------------------------------------------------------------+
-| void                           | :ref:`remove_exception<class_RayCast_remove_exception>` **(** :ref:`Object<class_object>` node **)**  |
-+--------------------------------+-------------------------------------------------------------------------------------------------------+
-| void                           | :ref:`remove_exception_rid<class_RayCast_remove_exception_rid>` **(** :ref:`RID<class_rid>` rid **)** |
-+--------------------------------+-------------------------------------------------------------------------------------------------------+
-| void                           | :ref:`set_cast_to<class_RayCast_set_cast_to>` **(** :ref:`Vector3<class_vector3>` local_point **)**   |
-+--------------------------------+-------------------------------------------------------------------------------------------------------+
-| void                           | :ref:`set_collision_layer<class_RayCast_set_collision_layer>` **(** :ref:`int<class_int>` layer **)** |
-+--------------------------------+-------------------------------------------------------------------------------------------------------+
-| void                           | :ref:`set_enabled<class_RayCast_set_enabled>` **(** :ref:`bool<class_bool>` enabled **)**             |
-+--------------------------------+-------------------------------------------------------------------------------------------------------+
-| void                           | :ref:`set_type_mask<class_RayCast_set_type_mask>` **(** :ref:`int<class_int>` mask **)**              |
-+--------------------------------+-------------------------------------------------------------------------------------------------------+
++--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
+| void                           | :ref:`add_exception<class_RayCast_add_exception>` **(** :ref:`Object<class_object>` node **)**                                           |
++--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
+| void                           | :ref:`add_exception_rid<class_RayCast_add_exception_rid>` **(** :ref:`RID<class_rid>` rid **)**                                          |
++--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
+| void                           | :ref:`clear_exceptions<class_RayCast_clear_exceptions>` **(** **)**                                                                      |
++--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
+| void                           | :ref:`force_raycast_update<class_RayCast_force_raycast_update>` **(** **)**                                                              |
++--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Vector3<class_vector3>`  | :ref:`get_cast_to<class_RayCast_get_cast_to>` **(** **)** const                                                                          |
++--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Object<class_object>`    | :ref:`get_collider<class_RayCast_get_collider>` **(** **)** const                                                                        |
++--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`          | :ref:`get_collider_shape<class_RayCast_get_collider_shape>` **(** **)** const                                                            |
++--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`          | :ref:`get_collision_mask<class_RayCast_get_collision_mask>` **(** **)** const                                                            |
++--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`        | :ref:`get_collision_mask_bit<class_RayCast_get_collision_mask_bit>` **(** :ref:`int<class_int>` bit **)** const                          |
++--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Vector3<class_vector3>`  | :ref:`get_collision_normal<class_RayCast_get_collision_normal>` **(** **)** const                                                        |
++--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Vector3<class_vector3>`  | :ref:`get_collision_point<class_RayCast_get_collision_point>` **(** **)** const                                                          |
++--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`          | :ref:`get_type_mask<class_RayCast_get_type_mask>` **(** **)** const                                                                      |
++--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`        | :ref:`is_colliding<class_RayCast_is_colliding>` **(** **)** const                                                                        |
++--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`        | :ref:`is_enabled<class_RayCast_is_enabled>` **(** **)** const                                                                            |
++--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
+| void                           | :ref:`remove_exception<class_RayCast_remove_exception>` **(** :ref:`Object<class_object>` node **)**                                     |
++--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
+| void                           | :ref:`remove_exception_rid<class_RayCast_remove_exception_rid>` **(** :ref:`RID<class_rid>` rid **)**                                    |
++--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
+| void                           | :ref:`set_cast_to<class_RayCast_set_cast_to>` **(** :ref:`Vector3<class_vector3>` local_point **)**                                      |
++--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
+| void                           | :ref:`set_collision_mask<class_RayCast_set_collision_mask>` **(** :ref:`int<class_int>` mask **)**                                       |
++--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
+| void                           | :ref:`set_collision_mask_bit<class_RayCast_set_collision_mask_bit>` **(** :ref:`int<class_int>` bit, :ref:`bool<class_bool>` value **)** |
++--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
+| void                           | :ref:`set_enabled<class_RayCast_set_enabled>` **(** :ref:`bool<class_bool>` enabled **)**                                                |
++--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
+| void                           | :ref:`set_type_mask<class_RayCast_set_type_mask>` **(** :ref:`int<class_int>` mask **)**                                                 |
++--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
 
 
 Member Variables
 Member Variables
 ----------------
 ----------------
@@ -66,9 +70,9 @@ Member Variables
 
 
 - :ref:`Vector3<class_vector3>` **cast_to** - The ray's destination point, relative to the RayCast's ``position``.
 - :ref:`Vector3<class_vector3>` **cast_to** - The ray's destination point, relative to the RayCast's ``position``.
 
 
-  .. _class_RayCast_collision_layer:
+  .. _class_RayCast_collision_mask:
 
 
-- :ref:`int<class_int>` **collision_layer** - The RayCast's collision layer(s). Only bodies in the same collision layer(s) will be detected.
+- :ref:`int<class_int>` **collision_mask** - The ray's collision mask. Only objects in at least one collision layer enabled in the mask will be detected.
 
 
   .. _class_RayCast_enabled:
   .. _class_RayCast_enabled:
 
 
@@ -157,11 +161,15 @@ Example:
     if RayCast.is_colliding():
     if RayCast.is_colliding():
         var shape = RayCast.get_collider_shape()
         var shape = RayCast.get_collider_shape()
 
 
-.. _class_RayCast_get_collision_layer:
+.. _class_RayCast_get_collision_mask:
 
 
-- :ref:`int<class_int>` **get_collision_layer** **(** **)** const
+- :ref:`int<class_int>` **get_collision_mask** **(** **)** const
 
 
-Returns the collision layer for this ray.
+Returns the collision mask for this ray.
+
+.. _class_RayCast_get_collision_mask_bit:
+
+- :ref:`bool<class_bool>` **get_collision_mask_bit** **(** :ref:`int<class_int>` bit **)** const
 
 
 .. _class_RayCast_get_collision_normal:
 .. _class_RayCast_get_collision_normal:
 
 
@@ -211,11 +219,15 @@ Removes a collision exception so the ray does report collisions with the specifi
 
 
 Sets the ray destination point, so that the ray will test from the ray's origin to ``local_point``.
 Sets the ray destination point, so that the ray will test from the ray's origin to ``local_point``.
 
 
-.. _class_RayCast_set_collision_layer:
+.. _class_RayCast_set_collision_mask:
+
+- void **set_collision_mask** **(** :ref:`int<class_int>` mask **)**
+
+Set the mask to filter objects. Only objects in at least one collision layer enabled in the mask will be detected.
 
 
-- void **set_collision_layer** **(** :ref:`int<class_int>` layer **)**
+.. _class_RayCast_set_collision_mask_bit:
 
 
-Set the mask to filter objects. Only objects with at least the same mask element set will be detected.
+- void **set_collision_mask_bit** **(** :ref:`int<class_int>` bit, :ref:`bool<class_bool>` value **)**
 
 
 .. _class_RayCast_set_enabled:
 .. _class_RayCast_set_enabled:
 
 

+ 63 - 51
classes/class_raycast2d.rst

@@ -19,49 +19,53 @@ Query the closest object intersecting a ray.
 Member Functions
 Member Functions
 ----------------
 ----------------
 
 
-+--------------------------------+------------------------------------------------------------------------------------------------------------------+
-| void                           | :ref:`add_exception<class_RayCast2D_add_exception>` **(** :ref:`Object<class_object>` node **)**                 |
-+--------------------------------+------------------------------------------------------------------------------------------------------------------+
-| void                           | :ref:`add_exception_rid<class_RayCast2D_add_exception_rid>` **(** :ref:`RID<class_rid>` rid **)**                |
-+--------------------------------+------------------------------------------------------------------------------------------------------------------+
-| void                           | :ref:`clear_exceptions<class_RayCast2D_clear_exceptions>` **(** **)**                                            |
-+--------------------------------+------------------------------------------------------------------------------------------------------------------+
-| void                           | :ref:`force_raycast_update<class_RayCast2D_force_raycast_update>` **(** **)**                                    |
-+--------------------------------+------------------------------------------------------------------------------------------------------------------+
-| :ref:`Vector2<class_vector2>`  | :ref:`get_cast_to<class_RayCast2D_get_cast_to>` **(** **)** const                                                |
-+--------------------------------+------------------------------------------------------------------------------------------------------------------+
-| :ref:`Object<class_object>`    | :ref:`get_collider<class_RayCast2D_get_collider>` **(** **)** const                                              |
-+--------------------------------+------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`          | :ref:`get_collider_shape<class_RayCast2D_get_collider_shape>` **(** **)** const                                  |
-+--------------------------------+------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`          | :ref:`get_collision_layer<class_RayCast2D_get_collision_layer>` **(** **)** const                                |
-+--------------------------------+------------------------------------------------------------------------------------------------------------------+
-| :ref:`Vector2<class_vector2>`  | :ref:`get_collision_normal<class_RayCast2D_get_collision_normal>` **(** **)** const                              |
-+--------------------------------+------------------------------------------------------------------------------------------------------------------+
-| :ref:`Vector2<class_vector2>`  | :ref:`get_collision_point<class_RayCast2D_get_collision_point>` **(** **)** const                                |
-+--------------------------------+------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`        | :ref:`get_exclude_parent_body<class_RayCast2D_get_exclude_parent_body>` **(** **)** const                        |
-+--------------------------------+------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`          | :ref:`get_type_mask<class_RayCast2D_get_type_mask>` **(** **)** const                                            |
-+--------------------------------+------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`        | :ref:`is_colliding<class_RayCast2D_is_colliding>` **(** **)** const                                              |
-+--------------------------------+------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`        | :ref:`is_enabled<class_RayCast2D_is_enabled>` **(** **)** const                                                  |
-+--------------------------------+------------------------------------------------------------------------------------------------------------------+
-| void                           | :ref:`remove_exception<class_RayCast2D_remove_exception>` **(** :ref:`Object<class_object>` node **)**           |
-+--------------------------------+------------------------------------------------------------------------------------------------------------------+
-| void                           | :ref:`remove_exception_rid<class_RayCast2D_remove_exception_rid>` **(** :ref:`RID<class_rid>` rid **)**          |
-+--------------------------------+------------------------------------------------------------------------------------------------------------------+
-| void                           | :ref:`set_cast_to<class_RayCast2D_set_cast_to>` **(** :ref:`Vector2<class_vector2>` local_point **)**            |
-+--------------------------------+------------------------------------------------------------------------------------------------------------------+
-| void                           | :ref:`set_collision_layer<class_RayCast2D_set_collision_layer>` **(** :ref:`int<class_int>` layer **)**          |
-+--------------------------------+------------------------------------------------------------------------------------------------------------------+
-| void                           | :ref:`set_enabled<class_RayCast2D_set_enabled>` **(** :ref:`bool<class_bool>` enabled **)**                      |
-+--------------------------------+------------------------------------------------------------------------------------------------------------------+
-| void                           | :ref:`set_exclude_parent_body<class_RayCast2D_set_exclude_parent_body>` **(** :ref:`bool<class_bool>` mask **)** |
-+--------------------------------+------------------------------------------------------------------------------------------------------------------+
-| void                           | :ref:`set_type_mask<class_RayCast2D_set_type_mask>` **(** :ref:`int<class_int>` mask **)**                       |
-+--------------------------------+------------------------------------------------------------------------------------------------------------------+
++--------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------+
+| void                           | :ref:`add_exception<class_RayCast2D_add_exception>` **(** :ref:`Object<class_object>` node **)**                                           |
++--------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------+
+| void                           | :ref:`add_exception_rid<class_RayCast2D_add_exception_rid>` **(** :ref:`RID<class_rid>` rid **)**                                          |
++--------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------+
+| void                           | :ref:`clear_exceptions<class_RayCast2D_clear_exceptions>` **(** **)**                                                                      |
++--------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------+
+| void                           | :ref:`force_raycast_update<class_RayCast2D_force_raycast_update>` **(** **)**                                                              |
++--------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Vector2<class_vector2>`  | :ref:`get_cast_to<class_RayCast2D_get_cast_to>` **(** **)** const                                                                          |
++--------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Object<class_object>`    | :ref:`get_collider<class_RayCast2D_get_collider>` **(** **)** const                                                                        |
++--------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`          | :ref:`get_collider_shape<class_RayCast2D_get_collider_shape>` **(** **)** const                                                            |
++--------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`          | :ref:`get_collision_mask<class_RayCast2D_get_collision_mask>` **(** **)** const                                                            |
++--------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`        | :ref:`get_collision_mask_bit<class_RayCast2D_get_collision_mask_bit>` **(** :ref:`int<class_int>` bit **)** const                          |
++--------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Vector2<class_vector2>`  | :ref:`get_collision_normal<class_RayCast2D_get_collision_normal>` **(** **)** const                                                        |
++--------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Vector2<class_vector2>`  | :ref:`get_collision_point<class_RayCast2D_get_collision_point>` **(** **)** const                                                          |
++--------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`        | :ref:`get_exclude_parent_body<class_RayCast2D_get_exclude_parent_body>` **(** **)** const                                                  |
++--------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`          | :ref:`get_type_mask<class_RayCast2D_get_type_mask>` **(** **)** const                                                                      |
++--------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`        | :ref:`is_colliding<class_RayCast2D_is_colliding>` **(** **)** const                                                                        |
++--------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`        | :ref:`is_enabled<class_RayCast2D_is_enabled>` **(** **)** const                                                                            |
++--------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------+
+| void                           | :ref:`remove_exception<class_RayCast2D_remove_exception>` **(** :ref:`Object<class_object>` node **)**                                     |
++--------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------+
+| void                           | :ref:`remove_exception_rid<class_RayCast2D_remove_exception_rid>` **(** :ref:`RID<class_rid>` rid **)**                                    |
++--------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------+
+| void                           | :ref:`set_cast_to<class_RayCast2D_set_cast_to>` **(** :ref:`Vector2<class_vector2>` local_point **)**                                      |
++--------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------+
+| void                           | :ref:`set_collision_mask<class_RayCast2D_set_collision_mask>` **(** :ref:`int<class_int>` mask **)**                                       |
++--------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------+
+| void                           | :ref:`set_collision_mask_bit<class_RayCast2D_set_collision_mask_bit>` **(** :ref:`int<class_int>` bit, :ref:`bool<class_bool>` value **)** |
++--------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------+
+| void                           | :ref:`set_enabled<class_RayCast2D_set_enabled>` **(** :ref:`bool<class_bool>` enabled **)**                                                |
++--------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------+
+| void                           | :ref:`set_exclude_parent_body<class_RayCast2D_set_exclude_parent_body>` **(** :ref:`bool<class_bool>` mask **)**                           |
++--------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------+
+| void                           | :ref:`set_type_mask<class_RayCast2D_set_type_mask>` **(** :ref:`int<class_int>` mask **)**                                                 |
++--------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------+
 
 
 Member Variables
 Member Variables
 ----------------
 ----------------
@@ -70,9 +74,9 @@ Member Variables
 
 
 - :ref:`Vector2<class_vector2>` **cast_to** - The ray's destination point, relative to the RayCast's ``position``.
 - :ref:`Vector2<class_vector2>` **cast_to** - The ray's destination point, relative to the RayCast's ``position``.
 
 
-  .. _class_RayCast2D_collision_layer:
+  .. _class_RayCast2D_collision_mask:
 
 
-- :ref:`int<class_int>` **collision_layer** - The RayCast2D's collision layer(s). Only bodies in the same collision layer(s) will be detected.
+- :ref:`int<class_int>` **collision_mask** - The ray's collision mask. Only objects in at least one collision layer enabled in the mask will be detected.
 
 
   .. _class_RayCast2D_enabled:
   .. _class_RayCast2D_enabled:
 
 
@@ -163,11 +167,15 @@ Example:
     if RayCast2D.is_colliding():
     if RayCast2D.is_colliding():
         var shape = RayCast2D.get_collider_shape()
         var shape = RayCast2D.get_collider_shape()
 
 
-.. _class_RayCast2D_get_collision_layer:
+.. _class_RayCast2D_get_collision_mask:
 
 
-- :ref:`int<class_int>` **get_collision_layer** **(** **)** const
+- :ref:`int<class_int>` **get_collision_mask** **(** **)** const
 
 
-Returns the collision layer for this ray.
+Returns the collision mask for this ray.
+
+.. _class_RayCast2D_get_collision_mask_bit:
+
+- :ref:`bool<class_bool>` **get_collision_mask_bit** **(** :ref:`int<class_int>` bit **)** const
 
 
 .. _class_RayCast2D_get_collision_normal:
 .. _class_RayCast2D_get_collision_normal:
 
 
@@ -223,11 +231,15 @@ Removes a collision exception so the ray does report collisions with the specifi
 
 
 Sets the ray destination point, so that the ray will test from the ray's origin to ``local_point``
 Sets the ray destination point, so that the ray will test from the ray's origin to ``local_point``
 
 
-.. _class_RayCast2D_set_collision_layer:
+.. _class_RayCast2D_set_collision_mask:
+
+- void **set_collision_mask** **(** :ref:`int<class_int>` mask **)**
+
+Set the mask to filter objects. Only objects in at least one collision layer enabled in the mask will be detected.
 
 
-- void **set_collision_layer** **(** :ref:`int<class_int>` layer **)**
+.. _class_RayCast2D_set_collision_mask_bit:
 
 
-Set the mask to filter objects. Only objects with at least the same mask element set will be detected.
+- void **set_collision_mask_bit** **(** :ref:`int<class_int>` bit, :ref:`bool<class_bool>` value **)**
 
 
 .. _class_RayCast2D_set_enabled:
 .. _class_RayCast2D_set_enabled:
 
 

+ 16 - 12
classes/class_rect2.rst

@@ -64,7 +64,7 @@ Member Variables
 Description
 Description
 -----------
 -----------
 
 
-Rect2 provides an 2D Axis-Aligned Bounding Box. It consists of a position, a size, and several utility functions. It is typically used for fast overlap tests.
+Rect2 consists of a position, a size, and several utility functions. It is typically used for fast overlap tests.
 
 
 Member Function Description
 Member Function Description
 ---------------------------
 ---------------------------
@@ -73,74 +73,78 @@ Member Function Description
 
 
 - :ref:`Rect2<class_rect2>` **Rect2** **(** :ref:`Vector2<class_vector2>` position, :ref:`Vector2<class_vector2>` size **)**
 - :ref:`Rect2<class_rect2>` **Rect2** **(** :ref:`Vector2<class_vector2>` position, :ref:`Vector2<class_vector2>` size **)**
 
 
-Construct a :ref:`Rect2<class_rect2>` by position and size.
+Constructs a ``Rect2`` by position and size.
 
 
 .. _class_Rect2_Rect2:
 .. _class_Rect2_Rect2:
 
 
 - :ref:`Rect2<class_rect2>` **Rect2** **(** :ref:`float<class_float>` x, :ref:`float<class_float>` y, :ref:`float<class_float>` width, :ref:`float<class_float>` height **)**
 - :ref:`Rect2<class_rect2>` **Rect2** **(** :ref:`float<class_float>` x, :ref:`float<class_float>` y, :ref:`float<class_float>` width, :ref:`float<class_float>` height **)**
 
 
-Construct a :ref:`Rect2<class_rect2>` by x, y, width and height.
+Constructs a ``Rect2`` by x, y, width, and height.
 
 
 .. _class_Rect2_clip:
 .. _class_Rect2_clip:
 
 
 - :ref:`Rect2<class_rect2>` **clip** **(** :ref:`Rect2<class_rect2>` b **)**
 - :ref:`Rect2<class_rect2>` **clip** **(** :ref:`Rect2<class_rect2>` b **)**
 
 
-Returns the intersection of this :ref:`Rect2<class_rect2>` and b.
+Returns the intersection of this ``Rect2`` and b.
 
 
 .. _class_Rect2_encloses:
 .. _class_Rect2_encloses:
 
 
 - :ref:`bool<class_bool>` **encloses** **(** :ref:`Rect2<class_rect2>` b **)**
 - :ref:`bool<class_bool>` **encloses** **(** :ref:`Rect2<class_rect2>` b **)**
 
 
-Returns true if this :ref:`Rect2<class_rect2>` completely encloses another one.
+Returns ``true`` if this ``Rect2`` completely encloses another one.
 
 
 .. _class_Rect2_expand:
 .. _class_Rect2_expand:
 
 
 - :ref:`Rect2<class_rect2>` **expand** **(** :ref:`Vector2<class_vector2>` to **)**
 - :ref:`Rect2<class_rect2>` **expand** **(** :ref:`Vector2<class_vector2>` to **)**
 
 
-Return this :ref:`Rect2<class_rect2>` expanded to include a given point.
+Returns this ``Rect2`` expanded to include a given point.
 
 
 .. _class_Rect2_get_area:
 .. _class_Rect2_get_area:
 
 
 - :ref:`float<class_float>` **get_area** **(** **)**
 - :ref:`float<class_float>` **get_area** **(** **)**
 
 
-Get the area of the :ref:`Rect2<class_rect2>`.
+Returns the area of the ``Rect2``.
 
 
 .. _class_Rect2_grow:
 .. _class_Rect2_grow:
 
 
 - :ref:`Rect2<class_rect2>` **grow** **(** :ref:`float<class_float>` by **)**
 - :ref:`Rect2<class_rect2>` **grow** **(** :ref:`float<class_float>` by **)**
 
 
-Return a copy of the :ref:`Rect2<class_rect2>` grown a given amount of units towards all the sides.
+Returns a copy of the ``Rect2`` grown a given amount of units towards all the sides.
 
 
 .. _class_Rect2_grow_individual:
 .. _class_Rect2_grow_individual:
 
 
 - :ref:`Rect2<class_rect2>` **grow_individual** **(** :ref:`float<class_float>` left, :ref:`float<class_float>` top, :ref:`float<class_float>` right, :ref:`float<class_float>`  bottom **)**
 - :ref:`Rect2<class_rect2>` **grow_individual** **(** :ref:`float<class_float>` left, :ref:`float<class_float>` top, :ref:`float<class_float>` right, :ref:`float<class_float>`  bottom **)**
 
 
+Returns a copy of the ``Rect2`` grown a given amount of units towards each direction individually.
+
 .. _class_Rect2_grow_margin:
 .. _class_Rect2_grow_margin:
 
 
 - :ref:`Rect2<class_rect2>` **grow_margin** **(** :ref:`int<class_int>` margin, :ref:`float<class_float>` by **)**
 - :ref:`Rect2<class_rect2>` **grow_margin** **(** :ref:`int<class_int>` margin, :ref:`float<class_float>` by **)**
 
 
+Returns a copy of the ``Rect2`` grown a given amount of units towards the Margin direction.
+
 .. _class_Rect2_has_no_area:
 .. _class_Rect2_has_no_area:
 
 
 - :ref:`bool<class_bool>` **has_no_area** **(** **)**
 - :ref:`bool<class_bool>` **has_no_area** **(** **)**
 
 
-Return true if the :ref:`Rect2<class_rect2>` is flat or empty.
+Returns ``true`` if the ``Rect2`` is flat or empty.
 
 
 .. _class_Rect2_has_point:
 .. _class_Rect2_has_point:
 
 
 - :ref:`bool<class_bool>` **has_point** **(** :ref:`Vector2<class_vector2>` point **)**
 - :ref:`bool<class_bool>` **has_point** **(** :ref:`Vector2<class_vector2>` point **)**
 
 
-Return true if the :ref:`Rect2<class_rect2>` contains a point.
+Returns ``true`` if the ``Rect2`` contains a point.
 
 
 .. _class_Rect2_intersects:
 .. _class_Rect2_intersects:
 
 
 - :ref:`bool<class_bool>` **intersects** **(** :ref:`Rect2<class_rect2>` b **)**
 - :ref:`bool<class_bool>` **intersects** **(** :ref:`Rect2<class_rect2>` b **)**
 
 
-Return true if the :ref:`Rect2<class_rect2>` overlaps with another.
+Returns ``true`` if the ``Rect2`` overlaps with another.
 
 
 .. _class_Rect2_merge:
 .. _class_Rect2_merge:
 
 
 - :ref:`Rect2<class_rect2>` **merge** **(** :ref:`Rect2<class_rect2>` b **)**
 - :ref:`Rect2<class_rect2>` **merge** **(** :ref:`Rect2<class_rect2>` b **)**
 
 
-Combine this :ref:`Rect2<class_rect2>` with another, a larger one is returned that contains both.
+Returns a larger Rect2 that contains this Rect2 and ``with``.
 
 
 
 

+ 22 - 22
classes/class_rect3.rst

@@ -70,7 +70,7 @@ Member Variables
 
 
   .. _class_Rect3_position:
   .. _class_Rect3_position:
 
 
-- :ref:`Vector3<class_vector3>` **position**
+- :ref:`Vector3<class_vector3>` **position** - Beginning corner.
 
 
   .. _class_Rect3_size:
   .. _class_Rect3_size:
 
 
@@ -80,7 +80,7 @@ Member Variables
 Description
 Description
 -----------
 -----------
 
 
-Rect3 provides an 3D Axis-Aligned Bounding Box. It consists of a position, a size, and several utility functions. It is typically used for simple (fast) overlap tests.
+Rect3 consists of a position, a size, and several utility functions. It is typically used for fast overlap tests.
 
 
 Member Function Description
 Member Function Description
 ---------------------------
 ---------------------------
@@ -95,120 +95,120 @@ Optional constructor, accepts position and size.
 
 
 - :ref:`bool<class_bool>` **encloses** **(** :ref:`Rect3<class_rect3>` with **)**
 - :ref:`bool<class_bool>` **encloses** **(** :ref:`Rect3<class_rect3>` with **)**
 
 
-Return true if this :ref:`Rect3<class_rect3>` completely encloses another one.
+Returns ``true`` if this ``Rect3`` completely encloses another one.
 
 
 .. _class_Rect3_expand:
 .. _class_Rect3_expand:
 
 
 - :ref:`Rect3<class_rect3>` **expand** **(** :ref:`Vector3<class_vector3>` to_point **)**
 - :ref:`Rect3<class_rect3>` **expand** **(** :ref:`Vector3<class_vector3>` to_point **)**
 
 
-Return this :ref:`Rect3<class_rect3>` expanded to include a given point.
+Returns this ``Rect3`` expanded to include a given point.
 
 
 .. _class_Rect3_get_area:
 .. _class_Rect3_get_area:
 
 
 - :ref:`float<class_float>` **get_area** **(** **)**
 - :ref:`float<class_float>` **get_area** **(** **)**
 
 
-Get the area of the :ref:`Rect3<class_rect3>`.
+Gets the area of the ``Rect3``.
 
 
 .. _class_Rect3_get_endpoint:
 .. _class_Rect3_get_endpoint:
 
 
 - :ref:`Vector3<class_vector3>` **get_endpoint** **(** :ref:`int<class_int>` idx **)**
 - :ref:`Vector3<class_vector3>` **get_endpoint** **(** :ref:`int<class_int>` idx **)**
 
 
-Get the position of the 8 endpoints of the :ref:`Rect3<class_rect3>` in space.
+Gets the position of the 8 endpoints of the ``Rect3`` in space.
 
 
 .. _class_Rect3_get_longest_axis:
 .. _class_Rect3_get_longest_axis:
 
 
 - :ref:`Vector3<class_vector3>` **get_longest_axis** **(** **)**
 - :ref:`Vector3<class_vector3>` **get_longest_axis** **(** **)**
 
 
-Return the normalized longest axis of the :ref:`Rect3<class_rect3>`.
+Returns the normalized longest axis of the ``Rect3``.
 
 
 .. _class_Rect3_get_longest_axis_index:
 .. _class_Rect3_get_longest_axis_index:
 
 
 - :ref:`int<class_int>` **get_longest_axis_index** **(** **)**
 - :ref:`int<class_int>` **get_longest_axis_index** **(** **)**
 
 
-Return the index of the longest axis of the :ref:`Rect3<class_rect3>` (according to :ref:`Vector3<class_vector3>`::AXIS\* enum).
+Returns the index of the longest axis of the ``Rect3`` (according to :ref:`Vector3<class_vector3>`::AXIS\* enum).
 
 
 .. _class_Rect3_get_longest_axis_size:
 .. _class_Rect3_get_longest_axis_size:
 
 
 - :ref:`float<class_float>` **get_longest_axis_size** **(** **)**
 - :ref:`float<class_float>` **get_longest_axis_size** **(** **)**
 
 
-Return the scalar length of the longest axis of the :ref:`Rect3<class_rect3>`.
+Returns the scalar length of the longest axis of the ``Rect3``.
 
 
 .. _class_Rect3_get_shortest_axis:
 .. _class_Rect3_get_shortest_axis:
 
 
 - :ref:`Vector3<class_vector3>` **get_shortest_axis** **(** **)**
 - :ref:`Vector3<class_vector3>` **get_shortest_axis** **(** **)**
 
 
-Return the normalized shortest axis of the :ref:`Rect3<class_rect3>`.
+Returns the normalized shortest axis of the ``Rect3``.
 
 
 .. _class_Rect3_get_shortest_axis_index:
 .. _class_Rect3_get_shortest_axis_index:
 
 
 - :ref:`int<class_int>` **get_shortest_axis_index** **(** **)**
 - :ref:`int<class_int>` **get_shortest_axis_index** **(** **)**
 
 
-Return the index of the shortest axis of the :ref:`Rect3<class_rect3>` (according to :ref:`Vector3<class_vector3>`::AXIS\* enum).
+Returns the index of the shortest axis of the ``Rect3`` (according to :ref:`Vector3<class_vector3>`::AXIS\* enum).
 
 
 .. _class_Rect3_get_shortest_axis_size:
 .. _class_Rect3_get_shortest_axis_size:
 
 
 - :ref:`float<class_float>` **get_shortest_axis_size** **(** **)**
 - :ref:`float<class_float>` **get_shortest_axis_size** **(** **)**
 
 
-Return the scalar length of the shortest axis of the :ref:`Rect3<class_rect3>`.
+Returns the scalar length of the shortest axis of the ``Rect3``.
 
 
 .. _class_Rect3_get_support:
 .. _class_Rect3_get_support:
 
 
 - :ref:`Vector3<class_vector3>` **get_support** **(** :ref:`Vector3<class_vector3>` dir **)**
 - :ref:`Vector3<class_vector3>` **get_support** **(** :ref:`Vector3<class_vector3>` dir **)**
 
 
-Return the support point in a given direction. This is useful for collision detection algorithms.
+Returns the support point in a given direction. This is useful for collision detection algorithms.
 
 
 .. _class_Rect3_grow:
 .. _class_Rect3_grow:
 
 
 - :ref:`Rect3<class_rect3>` **grow** **(** :ref:`float<class_float>` by **)**
 - :ref:`Rect3<class_rect3>` **grow** **(** :ref:`float<class_float>` by **)**
 
 
-Return a copy of the :ref:`Rect3<class_rect3>` grown a given amount of units towards all the sides.
+Returns a copy of the ``Rect3`` grown a given amount of units towards all the sides.
 
 
 .. _class_Rect3_has_no_area:
 .. _class_Rect3_has_no_area:
 
 
 - :ref:`bool<class_bool>` **has_no_area** **(** **)**
 - :ref:`bool<class_bool>` **has_no_area** **(** **)**
 
 
-Return true if the :ref:`Rect3<class_rect3>` is flat or empty.
+Returns ``true`` if the ``Rect3`` is flat or empty.
 
 
 .. _class_Rect3_has_no_surface:
 .. _class_Rect3_has_no_surface:
 
 
 - :ref:`bool<class_bool>` **has_no_surface** **(** **)**
 - :ref:`bool<class_bool>` **has_no_surface** **(** **)**
 
 
-Return true if the :ref:`Rect3<class_rect3>` is empty.
+Returns ``true`` if the ``Rect3`` is empty.
 
 
 .. _class_Rect3_has_point:
 .. _class_Rect3_has_point:
 
 
 - :ref:`bool<class_bool>` **has_point** **(** :ref:`Vector3<class_vector3>` point **)**
 - :ref:`bool<class_bool>` **has_point** **(** :ref:`Vector3<class_vector3>` point **)**
 
 
-Return true if the :ref:`Rect3<class_rect3>` contains a point.
+Returns ``true`` if the ``Rect3`` contains a point.
 
 
 .. _class_Rect3_intersection:
 .. _class_Rect3_intersection:
 
 
 - :ref:`Rect3<class_rect3>` **intersection** **(** :ref:`Rect3<class_rect3>` with **)**
 - :ref:`Rect3<class_rect3>` **intersection** **(** :ref:`Rect3<class_rect3>` with **)**
 
 
-Return the intersection between two :ref:`Rect3<class_rect3>`. An empty Rect3 (size 0,0,0) is returned on failure.
+Returns the intersection between two ``Rect3``. An empty Rect3 (size 0,0,0) is returned on failure.
 
 
 .. _class_Rect3_intersects:
 .. _class_Rect3_intersects:
 
 
 - :ref:`bool<class_bool>` **intersects** **(** :ref:`Rect3<class_rect3>` with **)**
 - :ref:`bool<class_bool>` **intersects** **(** :ref:`Rect3<class_rect3>` with **)**
 
 
-Return true if the :ref:`Rect3<class_rect3>` overlaps with another.
+Returns ``true`` if the ``Rect3`` overlaps with another.
 
 
 .. _class_Rect3_intersects_plane:
 .. _class_Rect3_intersects_plane:
 
 
 - :ref:`bool<class_bool>` **intersects_plane** **(** :ref:`Plane<class_plane>` plane **)**
 - :ref:`bool<class_bool>` **intersects_plane** **(** :ref:`Plane<class_plane>` plane **)**
 
 
-Return true if the :ref:`Rect3<class_rect3>` is at both sides of a plane.
+Returns ``true`` if the ``Rect3`` is on both sides of a plane.
 
 
 .. _class_Rect3_intersects_segment:
 .. _class_Rect3_intersects_segment:
 
 
 - :ref:`bool<class_bool>` **intersects_segment** **(** :ref:`Vector3<class_vector3>` from, :ref:`Vector3<class_vector3>` to **)**
 - :ref:`bool<class_bool>` **intersects_segment** **(** :ref:`Vector3<class_vector3>` from, :ref:`Vector3<class_vector3>` to **)**
 
 
-Return true if the :ref:`Rect3<class_rect3>` intersects the line segment between from and to
+Returns ``true`` if the ``Rect3`` intersects the line segment between ``from`` and ``to``.
 
 
 .. _class_Rect3_merge:
 .. _class_Rect3_merge:
 
 
 - :ref:`Rect3<class_rect3>` **merge** **(** :ref:`Rect3<class_rect3>` with **)**
 - :ref:`Rect3<class_rect3>` **merge** **(** :ref:`Rect3<class_rect3>` with **)**
 
 
-Combine this :ref:`Rect3<class_rect3>` with another, a larger one is returned that contains both.
+Returns a larger Rect3 that contains this Rect3 and ``with``.
 
 
 
 

+ 13 - 6
classes/class_remotetransform.rst

@@ -14,7 +14,7 @@ RemoteTransform
 Brief Description
 Brief Description
 -----------------
 -----------------
 
 
-
+RemoteTransform mirrors the :ref:`Transform<class_transform>` of another :ref:`Spatial<class_spatial>` derived Node in the scene.
 
 
 Member Functions
 Member Functions
 ----------------
 ----------------
@@ -46,24 +46,31 @@ Member Variables
 
 
   .. _class_RemoteTransform_remote_path:
   .. _class_RemoteTransform_remote_path:
 
 
-- :ref:`NodePath<class_nodepath>` **remote_path**
+- :ref:`NodePath<class_nodepath>` **remote_path** - The remote node's :ref:`NodePath<class_nodepath>`.
 
 
   .. _class_RemoteTransform_update_position:
   .. _class_RemoteTransform_update_position:
 
 
-- :ref:`bool<class_bool>` **update_position**
+- :ref:`bool<class_bool>` **update_position** - If ``true`` the remote node's position is mirrored.
 
 
   .. _class_RemoteTransform_update_rotation:
   .. _class_RemoteTransform_update_rotation:
 
 
-- :ref:`bool<class_bool>` **update_rotation**
+- :ref:`bool<class_bool>` **update_rotation** - If ``true`` the remote node's rotation is mirrored.
 
 
   .. _class_RemoteTransform_update_scale:
   .. _class_RemoteTransform_update_scale:
 
 
-- :ref:`bool<class_bool>` **update_scale**
+- :ref:`bool<class_bool>` **update_scale** - If ``true`` the remote node's scale is mirrored.
 
 
   .. _class_RemoteTransform_use_global_coordinates:
   .. _class_RemoteTransform_use_global_coordinates:
 
 
-- :ref:`bool<class_bool>` **use_global_coordinates**
+- :ref:`bool<class_bool>` **use_global_coordinates** - If ``true`` global coordinates are used. If ``false`` local coordinates are used. Default value: ``true``.
+
+
+Description
+-----------
+
+RemoteTransform mirrors the :ref:`Transform<class_transform>` of another :ref:`Spatial<class_spatial>` derived Node (called the remote node) in the scene.
 
 
+It can be set to track another Node's position, rotation and/or scale and update its own accordingly, using either global or local coordinates.
 
 
 Member Function Description
 Member Function Description
 ---------------------------
 ---------------------------

+ 13 - 6
classes/class_remotetransform2d.rst

@@ -14,7 +14,7 @@ RemoteTransform2D
 Brief Description
 Brief Description
 -----------------
 -----------------
 
 
-
+RemoteTransform2D mirrors the :ref:`Transform2D<class_transform2d>` of another :ref:`CanvasItem<class_canvasitem>` derived Node in the scene.
 
 
 Member Functions
 Member Functions
 ----------------
 ----------------
@@ -46,24 +46,31 @@ Member Variables
 
 
   .. _class_RemoteTransform2D_remote_path:
   .. _class_RemoteTransform2D_remote_path:
 
 
-- :ref:`NodePath<class_nodepath>` **remote_path**
+- :ref:`NodePath<class_nodepath>` **remote_path** - The remote node's :ref:`NodePath<class_nodepath>`.
 
 
   .. _class_RemoteTransform2D_update_position:
   .. _class_RemoteTransform2D_update_position:
 
 
-- :ref:`bool<class_bool>` **update_position**
+- :ref:`bool<class_bool>` **update_position** - If ``true`` the remote node's position is mirrored.
 
 
   .. _class_RemoteTransform2D_update_rotation:
   .. _class_RemoteTransform2D_update_rotation:
 
 
-- :ref:`bool<class_bool>` **update_rotation**
+- :ref:`bool<class_bool>` **update_rotation** - If ``true`` the remote node's rotation is mirrored.
 
 
   .. _class_RemoteTransform2D_update_scale:
   .. _class_RemoteTransform2D_update_scale:
 
 
-- :ref:`bool<class_bool>` **update_scale**
+- :ref:`bool<class_bool>` **update_scale** - If ``true`` the remote node's scale is mirrored.
 
 
   .. _class_RemoteTransform2D_use_global_coordinates:
   .. _class_RemoteTransform2D_use_global_coordinates:
 
 
-- :ref:`bool<class_bool>` **use_global_coordinates**
+- :ref:`bool<class_bool>` **use_global_coordinates** - If ``true`` global coordinates are used. If ``false`` local coordinates are used. Default value: ``true``.
+
+
+Description
+-----------
+
+RemoteTransform2D mirrors the :ref:`Transform2D<class_transform2d>` of another :ref:`CanvasItem<class_canvasitem>` derived Node (called the remote node) in the scene.
 
 
+It can be set to track another Node's position, rotation and/or and update its own accordingly, using either global or local coordinates.
 
 
 Member Function Description
 Member Function Description
 ---------------------------
 ---------------------------

+ 2 - 2
classes/class_resource.rst

@@ -127,7 +127,7 @@ Set the name of the resources, any name is valid (it doesn't have to be unique).
 
 
 - void **set_path** **(** :ref:`String<class_string>` path **)**
 - void **set_path** **(** :ref:`String<class_string>` path **)**
 
 
-Set the path of the resource. This is useful mainly for editors when saving/loading, and shouldn't be changed by anything else. Fails if another :ref:`Resource<class_resource>` already has path "path".
+Set the path of the resource. This is useful mainly for editors when saving/loading, and shouldn't be changed by anything else. Fails if another ``Resource`` already has path "path".
 
 
 .. _class_Resource_setup_local_to_scene:
 .. _class_Resource_setup_local_to_scene:
 
 
@@ -137,6 +137,6 @@ Set the path of the resource. This is useful mainly for editors when saving/load
 
 
 - void **take_over_path** **(** :ref:`String<class_string>` path **)**
 - void **take_over_path** **(** :ref:`String<class_string>` path **)**
 
 
-Set the path of the resource. Differs from set_path(), if another :ref:`Resource<class_resource>` exists with "path" it over-takes it, instead of failing.
+Set the path of the resource. Differs from set_path(), if another ``Resource`` exists with "path" it over-takes it, instead of failing.
 
 
 
 

+ 1 - 1
classes/class_resourceloader.rst

@@ -36,7 +36,7 @@ Member Functions
 Description
 Description
 -----------
 -----------
 
 
-Resource Loader. This is a static object accessible as :ref:`ResourceLoader<class_resourceloader>`. GDScript has a simplified load() function, though.
+Resource Loader. This is a static object accessible as ``ResourceLoader``. GDScript has a simplified load() function, though.
 
 
 Member Function Description
 Member Function Description
 ---------------------------
 ---------------------------

+ 31 - 8
classes/class_richtextlabel.rst

@@ -124,23 +124,23 @@ Member Variables
 
 
   .. _class_RichTextLabel_bbcode_enabled:
   .. _class_RichTextLabel_bbcode_enabled:
 
 
-- :ref:`bool<class_bool>` **bbcode_enabled**
+- :ref:`bool<class_bool>` **bbcode_enabled** - If ``true`` the label uses BBCode formatting. Default value: ``false``.
 
 
   .. _class_RichTextLabel_bbcode_text:
   .. _class_RichTextLabel_bbcode_text:
 
 
-- :ref:`String<class_string>` **bbcode_text**
+- :ref:`String<class_string>` **bbcode_text** - The label's text in BBCode format.
 
 
   .. _class_RichTextLabel_override_selected_font_color:
   .. _class_RichTextLabel_override_selected_font_color:
 
 
-- :ref:`bool<class_bool>` **override_selected_font_color**
+- :ref:`bool<class_bool>` **override_selected_font_color** - If ``true`` the label uses the custom font color. Default value: ``false``.
 
 
   .. _class_RichTextLabel_percent_visible:
   .. _class_RichTextLabel_percent_visible:
 
 
-- :ref:`float<class_float>` **percent_visible**
+- :ref:`float<class_float>` **percent_visible** - The text's visibility, as a :ref:`float<class_float>` between 0.0 and 1.0.
 
 
   .. _class_RichTextLabel_visible_characters:
   .. _class_RichTextLabel_visible_characters:
 
 
-- :ref:`int<class_int>` **visible_characters**
+- :ref:`int<class_int>` **visible_characters** - The restricted number of characters to display in the label.
 
 
 
 
 Numeric Constants
 Numeric Constants
@@ -163,6 +163,7 @@ Numeric Constants
 - **ITEM_ALIGN** = **7**
 - **ITEM_ALIGN** = **7**
 - **ITEM_INDENT** = **8**
 - **ITEM_INDENT** = **8**
 - **ITEM_LIST** = **9**
 - **ITEM_LIST** = **9**
+- **ITEM_TABLE** = **10**
 - **ITEM_META** = **11**
 - **ITEM_META** = **11**
 
 
 Description
 Description
@@ -189,18 +190,26 @@ Member Function Description
 
 
 - void **clear** **(** **)**
 - void **clear** **(** **)**
 
 
+Clears the label's text.
+
 .. _class_RichTextLabel_get_bbcode:
 .. _class_RichTextLabel_get_bbcode:
 
 
 - :ref:`String<class_string>` **get_bbcode** **(** **)** const
 - :ref:`String<class_string>` **get_bbcode** **(** **)** const
 
 
+Returns label's BBCode.
+
 .. _class_RichTextLabel_get_line_count:
 .. _class_RichTextLabel_get_line_count:
 
 
 - :ref:`int<class_int>` **get_line_count** **(** **)** const
 - :ref:`int<class_int>` **get_line_count** **(** **)** const
 
 
+Returns the number of lines in the text.
+
 .. _class_RichTextLabel_get_percent_visible:
 .. _class_RichTextLabel_get_percent_visible:
 
 
 - :ref:`float<class_float>` **get_percent_visible** **(** **)** const
 - :ref:`float<class_float>` **get_percent_visible** **(** **)** const
 
 
+Returns the text's visibility as a floating point value between 0.0 and 1.0.
+
 .. _class_RichTextLabel_get_tab_size:
 .. _class_RichTextLabel_get_tab_size:
 
 
 - :ref:`int<class_int>` **get_tab_size** **(** **)** const
 - :ref:`int<class_int>` **get_tab_size** **(** **)** const
@@ -209,12 +218,14 @@ Member Function Description
 
 
 - :ref:`String<class_string>` **get_text** **(** **)**
 - :ref:`String<class_string>` **get_text** **(** **)**
 
 
-Returns the raw text, stripping out the formatting information.
+Returns the label's text with the formatting removed.
 
 
 .. _class_RichTextLabel_get_total_character_count:
 .. _class_RichTextLabel_get_total_character_count:
 
 
 - :ref:`int<class_int>` **get_total_character_count** **(** **)** const
 - :ref:`int<class_int>` **get_total_character_count** **(** **)** const
 
 
+Returns the total number of characters.
+
 .. _class_RichTextLabel_get_v_scroll:
 .. _class_RichTextLabel_get_v_scroll:
 
 
 - :ref:`VScrollBar<class_vscrollbar>` **get_v_scroll** **(** **)**
 - :ref:`VScrollBar<class_vscrollbar>` **get_v_scroll** **(** **)**
@@ -227,6 +238,8 @@ Returns the raw text, stripping out the formatting information.
 
 
 - :ref:`int<class_int>` **get_visible_line_count** **(** **)** const
 - :ref:`int<class_int>` **get_visible_line_count** **(** **)** const
 
 
+Returns the number of visible lines.
+
 .. _class_RichTextLabel_is_meta_underlined:
 .. _class_RichTextLabel_is_meta_underlined:
 
 
 - :ref:`bool<class_bool>` **is_meta_underlined** **(** **)** const
 - :ref:`bool<class_bool>` **is_meta_underlined** **(** **)** const
@@ -239,6 +252,8 @@ Returns the raw text, stripping out the formatting information.
 
 
 - :ref:`bool<class_bool>` **is_scroll_active** **(** **)** const
 - :ref:`bool<class_bool>` **is_scroll_active** **(** **)** const
 
 
+Returns ``true`` if active scrolling is enabled.
+
 .. _class_RichTextLabel_is_scroll_following:
 .. _class_RichTextLabel_is_scroll_following:
 
 
 - :ref:`bool<class_bool>` **is_scroll_following** **(** **)** const
 - :ref:`bool<class_bool>` **is_scroll_following** **(** **)** const
@@ -247,16 +262,20 @@ Returns the raw text, stripping out the formatting information.
 
 
 - :ref:`bool<class_bool>` **is_selection_enabled** **(** **)** const
 - :ref:`bool<class_bool>` **is_selection_enabled** **(** **)** const
 
 
-Return true if selecting the text inside this richtext is allowed.
+Returns ``true`` if the label's text can be selected.
 
 
 .. _class_RichTextLabel_is_using_bbcode:
 .. _class_RichTextLabel_is_using_bbcode:
 
 
 - :ref:`bool<class_bool>` **is_using_bbcode** **(** **)** const
 - :ref:`bool<class_bool>` **is_using_bbcode** **(** **)** const
 
 
+Returns ``true`` if the label has BBCode.
+
 .. _class_RichTextLabel_newline:
 .. _class_RichTextLabel_newline:
 
 
 - void **newline** **(** **)**
 - void **newline** **(** **)**
 
 
+Adds a newline to the end of the rich text.
+
 .. _class_RichTextLabel_parse_bbcode:
 .. _class_RichTextLabel_parse_bbcode:
 
 
 - :ref:`int<class_int>` **parse_bbcode** **(** :ref:`String<class_string>` bbcode **)**
 - :ref:`int<class_int>` **parse_bbcode** **(** :ref:`String<class_string>` bbcode **)**
@@ -313,6 +332,8 @@ Return true if selecting the text inside this richtext is allowed.
 
 
 - void **set_bbcode** **(** :ref:`String<class_string>` text **)**
 - void **set_bbcode** **(** :ref:`String<class_string>` text **)**
 
 
+Sets the BBCode text to the label.
+
 .. _class_RichTextLabel_set_meta_underline:
 .. _class_RichTextLabel_set_meta_underline:
 
 
 - void **set_meta_underline** **(** :ref:`bool<class_bool>` enable **)**
 - void **set_meta_underline** **(** :ref:`bool<class_bool>` enable **)**
@@ -325,6 +346,8 @@ Return true if selecting the text inside this richtext is allowed.
 
 
 - void **set_percent_visible** **(** :ref:`float<class_float>` percent_visible **)**
 - void **set_percent_visible** **(** :ref:`float<class_float>` percent_visible **)**
 
 
+Sets the text's visibility. Takes a floating point value between 0.0 and 1.0.
+
 .. _class_RichTextLabel_set_scroll_active:
 .. _class_RichTextLabel_set_scroll_active:
 
 
 - void **set_scroll_active** **(** :ref:`bool<class_bool>` active **)**
 - void **set_scroll_active** **(** :ref:`bool<class_bool>` active **)**
@@ -337,7 +360,7 @@ Return true if selecting the text inside this richtext is allowed.
 
 
 - void **set_selection_enabled** **(** :ref:`bool<class_bool>` enabled **)**
 - void **set_selection_enabled** **(** :ref:`bool<class_bool>` enabled **)**
 
 
-Set to true if selecting the text inside this richtext is allowed.
+If ``true`` text can be selected.
 
 
 .. _class_RichTextLabel_set_tab_size:
 .. _class_RichTextLabel_set_tab_size:
 
 

+ 2 - 2
classes/class_rigidbody.rst

@@ -212,10 +212,10 @@ Continuous collision detection tries to predict where a moving body will collide
 Numeric Constants
 Numeric Constants
 -----------------
 -----------------
 
 
-- **MODE_STATIC** = **1** --- Static mode. The body behaves like a :ref:`StaticBody<class_staticbody>`, and can only move by user code.
-- **MODE_KINEMATIC** = **3** --- Kinematic body. The body behaves like a :ref:`KinematicBody<class_kinematicbody>`, and can only move by user code.
 - **MODE_RIGID** = **0** --- Rigid body. This is the "natural" state of a rigid body. It is affected by forces, and can move, rotate, and be affected by user code.
 - **MODE_RIGID** = **0** --- Rigid body. This is the "natural" state of a rigid body. It is affected by forces, and can move, rotate, and be affected by user code.
+- **MODE_STATIC** = **1** --- Static mode. The body behaves like a :ref:`StaticBody<class_staticbody>`, and can only move by user code.
 - **MODE_CHARACTER** = **2** --- Character body. This behaves like a rigid body, but can not rotate.
 - **MODE_CHARACTER** = **2** --- Character body. This behaves like a rigid body, but can not rotate.
+- **MODE_KINEMATIC** = **3** --- Kinematic body. The body behaves like a :ref:`KinematicBody<class_kinematicbody>`, and can only move by user code.
 - **AXIS_LOCK_DISABLED** = **0**
 - **AXIS_LOCK_DISABLED** = **0**
 - **AXIS_LOCK_X** = **1**
 - **AXIS_LOCK_X** = **1**
 - **AXIS_LOCK_Y** = **2**
 - **AXIS_LOCK_Y** = **2**

+ 2 - 2
classes/class_rigidbody2d.rst

@@ -216,10 +216,10 @@ Continuous collision detection tries to predict where a moving body will collide
 Numeric Constants
 Numeric Constants
 -----------------
 -----------------
 
 
-- **MODE_STATIC** = **1** --- Static mode. The body behaves like a :ref:`StaticBody2D<class_staticbody2d>` and does not move.
-- **MODE_KINEMATIC** = **3** --- Kinematic mode. The body behaves like a :ref:`KinematicBody2D<class_kinematicbody2d>`, and must be moved by code.
 - **MODE_RIGID** = **0** --- Rigid mode. The body behaves as a physical object. It collides with other bodies and responds to forces applied to it. This is the default mode.
 - **MODE_RIGID** = **0** --- Rigid mode. The body behaves as a physical object. It collides with other bodies and responds to forces applied to it. This is the default mode.
+- **MODE_STATIC** = **1** --- Static mode. The body behaves like a :ref:`StaticBody2D<class_staticbody2d>` and does not move.
 - **MODE_CHARACTER** = **2** --- Character mode. Similar to ``MODE_RIGID``, but the body can not rotate.
 - **MODE_CHARACTER** = **2** --- Character mode. Similar to ``MODE_RIGID``, but the body can not rotate.
+- **MODE_KINEMATIC** = **3** --- Kinematic mode. The body behaves like a :ref:`KinematicBody2D<class_kinematicbody2d>`, and must be moved by code.
 - **CCD_MODE_DISABLED** = **0** --- Continuous collision detection disabled. This is the fastest way to detect body collisions, but can miss small, fast-moving objects.
 - **CCD_MODE_DISABLED** = **0** --- Continuous collision detection disabled. This is the fastest way to detect body collisions, but can miss small, fast-moving objects.
 - **CCD_MODE_CAST_RAY** = **1** --- Continuous collision detection enabled using raycasting. This is faster than shapecasting but less precise.
 - **CCD_MODE_CAST_RAY** = **1** --- Continuous collision detection enabled using raycasting. This is faster than shapecasting but less precise.
 - **CCD_MODE_CAST_SHAPE** = **2** --- Continuous collision detection enabled using shapecasting. This is the slowest CCD method and the most precise.
 - **CCD_MODE_CAST_SHAPE** = **2** --- Continuous collision detection enabled using shapecasting. This is the slowest CCD method and the most precise.

+ 0 - 6
classes/class_script.rst

@@ -24,8 +24,6 @@ Member Functions
 +------------------------------+--------------------------------------------------------------------------------------------------------------------+
 +------------------------------+--------------------------------------------------------------------------------------------------------------------+
 | :ref:`bool<class_bool>`      | :ref:`can_instance<class_Script_can_instance>` **(** **)** const                                                   |
 | :ref:`bool<class_bool>`      | :ref:`can_instance<class_Script_can_instance>` **(** **)** const                                                   |
 +------------------------------+--------------------------------------------------------------------------------------------------------------------+
 +------------------------------+--------------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_string>`  | :ref:`get_node_type<class_Script_get_node_type>` **(** **)** const                                                 |
-+------------------------------+--------------------------------------------------------------------------------------------------------------------+
 | :ref:`String<class_string>`  | :ref:`get_source_code<class_Script_get_source_code>` **(** **)** const                                             |
 | :ref:`String<class_string>`  | :ref:`get_source_code<class_Script_get_source_code>` **(** **)** const                                             |
 +------------------------------+--------------------------------------------------------------------------------------------------------------------+
 +------------------------------+--------------------------------------------------------------------------------------------------------------------+
 | :ref:`bool<class_bool>`      | :ref:`has_script_signal<class_Script_has_script_signal>` **(** :ref:`String<class_string>` signal_name **)** const |
 | :ref:`bool<class_bool>`      | :ref:`has_script_signal<class_Script_has_script_signal>` **(** :ref:`String<class_string>` signal_name **)** const |
@@ -57,10 +55,6 @@ Member Function Description
 
 
 Returns true if the script can be instanced.
 Returns true if the script can be instanced.
 
 
-.. _class_Script_get_node_type:
-
-- :ref:`String<class_string>` **get_node_type** **(** **)** const
-
 .. _class_Script_get_source_code:
 .. _class_Script_get_source_code:
 
 
 - :ref:`String<class_string>` **get_source_code** **(** **)** const
 - :ref:`String<class_string>` **get_source_code** **(** **)** const

+ 2 - 2
classes/class_semaphore.rst

@@ -37,12 +37,12 @@ Member Function Description
 
 
 - :ref:`int<class_int>` **post** **(** **)**
 - :ref:`int<class_int>` **post** **(** **)**
 
 
-Lowers the :ref:`Semaphore<class_semaphore>`, allowing one more thread in.
+Lowers the ``Semaphore``, allowing one more thread in.
 
 
 .. _class_Semaphore_wait:
 .. _class_Semaphore_wait:
 
 
 - :ref:`int<class_int>` **wait** **(** **)**
 - :ref:`int<class_int>` **wait** **(** **)**
 
 
-Tries to wait for the :ref:`Semaphore<class_semaphore>`, if its value is zero, blocks until non-zero.
+Tries to wait for the ``Semaphore``, if its value is zero, blocks until non-zero.
 
 
 
 

+ 1 - 1
classes/class_spatial.rst

@@ -183,7 +183,7 @@ Returns the global transform, relative to worldspace.
 
 
 - :ref:`Spatial<class_spatial>` **get_parent_spatial** **(** **)** const
 - :ref:`Spatial<class_spatial>` **get_parent_spatial** **(** **)** const
 
 
-Returns the parent :ref:`Spatial<class_spatial>`, or an empty :ref:`Object<class_object>` if no parent exists or parent is not of type :ref:`Spatial<class_spatial>`.
+Returns the parent ``Spatial``, or an empty :ref:`Object<class_object>` if no parent exists or parent is not of type ``Spatial``.
 
 
 .. _class_Spatial_get_rotation:
 .. _class_Spatial_get_rotation:
 
 

+ 3 - 3
classes/class_streampeer.rst

@@ -123,7 +123,7 @@ Get a signed byte from the stream.
 
 
 - :ref:`int<class_int>` **get_available_bytes** **(** **)** const
 - :ref:`int<class_int>` **get_available_bytes** **(** **)** const
 
 
-Return the amount of bytes this :ref:`StreamPeer<class_streampeer>` has available.
+Return the amount of bytes this ``StreamPeer`` has available.
 
 
 .. _class_StreamPeer_get_data:
 .. _class_StreamPeer_get_data:
 
 
@@ -195,7 +195,7 @@ Get a Variant from the stream.
 
 
 - :ref:`bool<class_bool>` **is_big_endian_enabled** **(** **)** const
 - :ref:`bool<class_bool>` **is_big_endian_enabled** **(** **)** const
 
 
-Return whether this :ref:`StreamPeer<class_streampeer>` is using big-endian format.
+Return whether this ``StreamPeer`` is using big-endian format.
 
 
 .. _class_StreamPeer_put_16:
 .. _class_StreamPeer_put_16:
 
 
@@ -285,6 +285,6 @@ Put a Variant into the stream.
 
 
 - void **set_big_endian** **(** :ref:`bool<class_bool>` enable **)**
 - void **set_big_endian** **(** :ref:`bool<class_bool>` enable **)**
 
 
-Set this :ref:`StreamPeer<class_streampeer>` to use big-endian format. Default is false.
+Set this ``StreamPeer`` to use big-endian format. Default is false.
 
 
 
 

+ 3 - 3
classes/class_streampeerssl.rst

@@ -32,8 +32,8 @@ Member Functions
 Numeric Constants
 Numeric Constants
 -----------------
 -----------------
 
 
-- **STATUS_DISCONNECTED** = **0** --- A status representing a :ref:`StreamPeerSSL<class_streampeerssl>` that is disconnected.
-- **STATUS_CONNECTED** = **1** --- A status representing a :ref:`StreamPeerSSL<class_streampeerssl>` that is connected to a host.
+- **STATUS_DISCONNECTED** = **0** --- A status representing a ``StreamPeerSSL`` that is disconnected.
+- **STATUS_CONNECTED** = **1** --- A status representing a ``StreamPeerSSL`` that is connected to a host.
 - **STATUS_ERROR_NO_CERTIFICATE** = **2** --- An errot status that shows the peer did not present a SSL certificate and validation was requested.
 - **STATUS_ERROR_NO_CERTIFICATE** = **2** --- An errot status that shows the peer did not present a SSL certificate and validation was requested.
 - **STATUS_ERROR_HOSTNAME_MISMATCH** = **3** --- An error status that shows a mismatch in the SSL certificate domain presented by the host and the domain requested for validation.
 - **STATUS_ERROR_HOSTNAME_MISMATCH** = **3** --- An error status that shows a mismatch in the SSL certificate domain presented by the host and the domain requested for validation.
 
 
@@ -53,7 +53,7 @@ Member Function Description
 
 
 - :ref:`int<class_int>` **connect_to_stream** **(** :ref:`StreamPeer<class_streampeer>` stream, :ref:`bool<class_bool>` validate_certs=false, :ref:`String<class_string>` for_hostname="" **)**
 - :ref:`int<class_int>` **connect_to_stream** **(** :ref:`StreamPeer<class_streampeer>` stream, :ref:`bool<class_bool>` validate_certs=false, :ref:`String<class_string>` for_hostname="" **)**
 
 
-Connect to a peer using an underlying :ref:`StreamPeer<class_streampeer>` "stream", when "validate_certs" is true, :ref:`StreamPeerSSL<class_streampeerssl>` will validate that the certificate presented by the peer matches the "for_hostname".
+Connect to a peer using an underlying :ref:`StreamPeer<class_streampeer>` "stream", when "validate_certs" is true, ``StreamPeerSSL`` will validate that the certificate presented by the peer matches the "for_hostname".
 
 
 .. _class_StreamPeerSSL_disconnect_from_stream:
 .. _class_StreamPeerSSL_disconnect_from_stream:
 
 

+ 4 - 4
classes/class_streampeertcp.rst

@@ -36,10 +36,10 @@ Member Functions
 Numeric Constants
 Numeric Constants
 -----------------
 -----------------
 
 
-- **STATUS_NONE** = **0** --- The initial status of the :ref:`StreamPeerTCP<class_streampeertcp>`, also the status after a disconnect.
-- **STATUS_CONNECTING** = **1** --- A status representing a :ref:`StreamPeerTCP<class_streampeertcp>` that is connecting to a host.
-- **STATUS_CONNECTED** = **2** --- A status representing a :ref:`StreamPeerTCP<class_streampeertcp>` that is connected to a host.
-- **STATUS_ERROR** = **3** --- A staus representing a :ref:`StreamPeerTCP<class_streampeertcp>` in error state.
+- **STATUS_NONE** = **0** --- The initial status of the ``StreamPeerTCP``, also the status after a disconnect.
+- **STATUS_CONNECTING** = **1** --- A status representing a ``StreamPeerTCP`` that is connecting to a host.
+- **STATUS_CONNECTED** = **2** --- A status representing a ``StreamPeerTCP`` that is connected to a host.
+- **STATUS_ERROR** = **3** --- A staus representing a ``StreamPeerTCP`` in error state.
 
 
 Description
 Description
 -----------
 -----------

+ 109 - 59
classes/class_string.rst

@@ -205,335 +205,385 @@ Member Function Description
 
 
 - :ref:`String<class_string>` **String** **(** :ref:`bool<class_bool>` from **)**
 - :ref:`String<class_string>` **String** **(** :ref:`bool<class_bool>` from **)**
 
 
+Constructs a new String from the given :ref:`bool<class_bool>`.
+
 .. _class_String_String:
 .. _class_String_String:
 
 
 - :ref:`String<class_string>` **String** **(** :ref:`int<class_int>` from **)**
 - :ref:`String<class_string>` **String** **(** :ref:`int<class_int>` from **)**
 
 
+Constructs a new String from the given :ref:`int<class_int>`.
+
 .. _class_String_String:
 .. _class_String_String:
 
 
 - :ref:`String<class_string>` **String** **(** :ref:`float<class_float>` from **)**
 - :ref:`String<class_string>` **String** **(** :ref:`float<class_float>` from **)**
 
 
+Constructs a new String from the given :ref:`float<class_float>`.
+
 .. _class_String_String:
 .. _class_String_String:
 
 
 - :ref:`String<class_string>` **String** **(** :ref:`Vector2<class_vector2>` from **)**
 - :ref:`String<class_string>` **String** **(** :ref:`Vector2<class_vector2>` from **)**
 
 
+Constructs a new String from the given :ref:`Vector2<class_vector2>`.
+
 .. _class_String_String:
 .. _class_String_String:
 
 
 - :ref:`String<class_string>` **String** **(** :ref:`Rect2<class_rect2>` from **)**
 - :ref:`String<class_string>` **String** **(** :ref:`Rect2<class_rect2>` from **)**
 
 
+Constructs a new String from the given :ref:`Rect2<class_rect2>`.
+
 .. _class_String_String:
 .. _class_String_String:
 
 
 - :ref:`String<class_string>` **String** **(** :ref:`Vector3<class_vector3>` from **)**
 - :ref:`String<class_string>` **String** **(** :ref:`Vector3<class_vector3>` from **)**
 
 
+Constructs a new String from the given :ref:`Vector3<class_vector3>`.
+
 .. _class_String_String:
 .. _class_String_String:
 
 
 - :ref:`String<class_string>` **String** **(** :ref:`Transform2D<class_transform2d>` from **)**
 - :ref:`String<class_string>` **String** **(** :ref:`Transform2D<class_transform2d>` from **)**
 
 
+Constructs a new String from the given :ref:`Transform2D<class_transform2d>`.
+
 .. _class_String_String:
 .. _class_String_String:
 
 
 - :ref:`String<class_string>` **String** **(** :ref:`Plane<class_plane>` from **)**
 - :ref:`String<class_string>` **String** **(** :ref:`Plane<class_plane>` from **)**
 
 
+Constructs a new String from the given :ref:`Plane<class_plane>`.
+
 .. _class_String_String:
 .. _class_String_String:
 
 
 - :ref:`String<class_string>` **String** **(** :ref:`Quat<class_quat>` from **)**
 - :ref:`String<class_string>` **String** **(** :ref:`Quat<class_quat>` from **)**
 
 
+Constructs a new String from the given :ref:`Quat<class_quat>`.
+
 .. _class_String_String:
 .. _class_String_String:
 
 
 - :ref:`String<class_string>` **String** **(** :ref:`Rect3<class_rect3>` from **)**
 - :ref:`String<class_string>` **String** **(** :ref:`Rect3<class_rect3>` from **)**
 
 
+Constructs a new String from the given :ref:`Rect3<class_rect3>`.
+
 .. _class_String_String:
 .. _class_String_String:
 
 
 - :ref:`String<class_string>` **String** **(** :ref:`Basis<class_basis>` from **)**
 - :ref:`String<class_string>` **String** **(** :ref:`Basis<class_basis>` from **)**
 
 
+Constructs a new String from the given :ref:`Basis<class_basis>`.
+
 .. _class_String_String:
 .. _class_String_String:
 
 
 - :ref:`String<class_string>` **String** **(** :ref:`Transform<class_transform>` from **)**
 - :ref:`String<class_string>` **String** **(** :ref:`Transform<class_transform>` from **)**
 
 
+Constructs a new String from the given :ref:`Transform<class_transform>`.
+
 .. _class_String_String:
 .. _class_String_String:
 
 
 - :ref:`String<class_string>` **String** **(** :ref:`Color<class_color>` from **)**
 - :ref:`String<class_string>` **String** **(** :ref:`Color<class_color>` from **)**
 
 
+Constructs a new String from the given :ref:`Color<class_color>`.
+
 .. _class_String_String:
 .. _class_String_String:
 
 
 - :ref:`String<class_string>` **String** **(** :ref:`NodePath<class_nodepath>` from **)**
 - :ref:`String<class_string>` **String** **(** :ref:`NodePath<class_nodepath>` from **)**
 
 
+Constructs a new String from the given :ref:`NodePath<class_nodepath>`.
+
 .. _class_String_String:
 .. _class_String_String:
 
 
 - :ref:`String<class_string>` **String** **(** :ref:`RID<class_rid>` from **)**
 - :ref:`String<class_string>` **String** **(** :ref:`RID<class_rid>` from **)**
 
 
+Constructs a new String from the given :ref:`RID<class_rid>`.
+
 .. _class_String_String:
 .. _class_String_String:
 
 
 - :ref:`String<class_string>` **String** **(** :ref:`Dictionary<class_dictionary>` from **)**
 - :ref:`String<class_string>` **String** **(** :ref:`Dictionary<class_dictionary>` from **)**
 
 
+Constructs a new String from the given :ref:`Dictionary<class_dictionary>`.
+
 .. _class_String_String:
 .. _class_String_String:
 
 
 - :ref:`String<class_string>` **String** **(** :ref:`Array<class_array>` from **)**
 - :ref:`String<class_string>` **String** **(** :ref:`Array<class_array>` from **)**
 
 
+Constructs a new String from the given :ref:`Array<class_array>`.
+
 .. _class_String_String:
 .. _class_String_String:
 
 
 - :ref:`String<class_string>` **String** **(** :ref:`PoolByteArray<class_poolbytearray>` from **)**
 - :ref:`String<class_string>` **String** **(** :ref:`PoolByteArray<class_poolbytearray>` from **)**
 
 
+Constructs a new String from the given :ref:`PoolByteArray<class_poolbytearray>`.
+
 .. _class_String_String:
 .. _class_String_String:
 
 
 - :ref:`String<class_string>` **String** **(** :ref:`PoolIntArray<class_poolintarray>` from **)**
 - :ref:`String<class_string>` **String** **(** :ref:`PoolIntArray<class_poolintarray>` from **)**
 
 
+Constructs a new String from the given :ref:`PoolIntArray<class_poolintarray>`.
+
 .. _class_String_String:
 .. _class_String_String:
 
 
 - :ref:`String<class_string>` **String** **(** :ref:`PoolRealArray<class_poolrealarray>` from **)**
 - :ref:`String<class_string>` **String** **(** :ref:`PoolRealArray<class_poolrealarray>` from **)**
 
 
+Constructs a new String from the given :ref:`PoolRealArray<class_poolrealarray>`.
+
 .. _class_String_String:
 .. _class_String_String:
 
 
 - :ref:`String<class_string>` **String** **(** :ref:`PoolStringArray<class_poolstringarray>` from **)**
 - :ref:`String<class_string>` **String** **(** :ref:`PoolStringArray<class_poolstringarray>` from **)**
 
 
+Constructs a new String from the given :ref:`PoolStringArray<class_poolstringarray>`.
+
 .. _class_String_String:
 .. _class_String_String:
 
 
 - :ref:`String<class_string>` **String** **(** :ref:`PoolVector2Array<class_poolvector2array>` from **)**
 - :ref:`String<class_string>` **String** **(** :ref:`PoolVector2Array<class_poolvector2array>` from **)**
 
 
+Constructs a new String from the given :ref:`PoolVector2Array<class_poolvector2array>`.
+
 .. _class_String_String:
 .. _class_String_String:
 
 
 - :ref:`String<class_string>` **String** **(** :ref:`PoolVector3Array<class_poolvector3array>` from **)**
 - :ref:`String<class_string>` **String** **(** :ref:`PoolVector3Array<class_poolvector3array>` from **)**
 
 
+Constructs a new String from the given :ref:`PoolVector3Array<class_poolvector3array>`.
+
 .. _class_String_String:
 .. _class_String_String:
 
 
 - :ref:`String<class_string>` **String** **(** :ref:`PoolColorArray<class_poolcolorarray>` from **)**
 - :ref:`String<class_string>` **String** **(** :ref:`PoolColorArray<class_poolcolorarray>` from **)**
 
 
+Constructs a new String from the given :ref:`PoolColorArray<class_poolcolorarray>`.
+
 .. _class_String_begins_with:
 .. _class_String_begins_with:
 
 
 - :ref:`bool<class_bool>` **begins_with** **(** :ref:`String<class_string>` text **)**
 - :ref:`bool<class_bool>` **begins_with** **(** :ref:`String<class_string>` text **)**
 
 
-Return true if the strings begins with the given string.
+Returns ``true`` if the string begins with the given string.
 
 
 .. _class_String_bigrams:
 .. _class_String_bigrams:
 
 
 - :ref:`PoolStringArray<class_poolstringarray>` **bigrams** **(** **)**
 - :ref:`PoolStringArray<class_poolstringarray>` **bigrams** **(** **)**
 
 
-Return the bigrams (pairs of consecutive letters) of this string.
+Returns the bigrams (pairs of consecutive letters) of this string.
 
 
 .. _class_String_c_escape:
 .. _class_String_c_escape:
 
 
 - :ref:`String<class_string>` **c_escape** **(** **)**
 - :ref:`String<class_string>` **c_escape** **(** **)**
 
 
-Return a copy of the string with special characters escaped using the C language standard.
+Returns a copy of the string with special characters escaped using the C language standard.
 
 
 .. _class_String_c_unescape:
 .. _class_String_c_unescape:
 
 
 - :ref:`String<class_string>` **c_unescape** **(** **)**
 - :ref:`String<class_string>` **c_unescape** **(** **)**
 
 
-Return a copy of the string with escaped characters replaced by their meanings according to the C language standard.
+Returns a copy of the string with escaped characters replaced by their meanings according to the C language standard.
 
 
 .. _class_String_capitalize:
 .. _class_String_capitalize:
 
 
 - :ref:`String<class_string>` **capitalize** **(** **)**
 - :ref:`String<class_string>` **capitalize** **(** **)**
 
 
-Change the case of some letters. Replace underscores with spaces, convert all letters to lowercase then capitalize first and every letter following the space character. For ``capitalize camelCase mixed_with_underscores`` it will return ``Capitalize Camelcase Mixed With Underscores``.
+Changes the case of some letters. Replaces underscores with spaces, converts all letters to lowercase, then capitalizes first and every letter following the space character. For ``capitalize camelCase mixed_with_underscores`` it will return ``Capitalize Camelcase Mixed With Underscores``.
 
 
 .. _class_String_casecmp_to:
 .. _class_String_casecmp_to:
 
 
 - :ref:`int<class_int>` **casecmp_to** **(** :ref:`String<class_string>` to **)**
 - :ref:`int<class_int>` **casecmp_to** **(** :ref:`String<class_string>` to **)**
 
 
-Perform a case-sensitive comparison to another string, return -1 if less, 0 if equal and +1 if greater.
+Performs a case-sensitive comparison to another string. Returns ``-1`` if less than, ``+1`` if greater than, or ``0`` if equal.
 
 
 .. _class_String_empty:
 .. _class_String_empty:
 
 
 - :ref:`bool<class_bool>` **empty** **(** **)**
 - :ref:`bool<class_bool>` **empty** **(** **)**
 
 
-Return true if the string is empty.
+Returns ``true`` if the string is empty.
 
 
 .. _class_String_ends_with:
 .. _class_String_ends_with:
 
 
 - :ref:`bool<class_bool>` **ends_with** **(** :ref:`String<class_string>` text **)**
 - :ref:`bool<class_bool>` **ends_with** **(** :ref:`String<class_string>` text **)**
 
 
-Return true if the strings ends with the given string.
+Returns ``true`` if the string ends with the given string.
 
 
 .. _class_String_erase:
 .. _class_String_erase:
 
 
 - void **erase** **(** :ref:`int<class_int>` position, :ref:`int<class_int>` chars **)**
 - void **erase** **(** :ref:`int<class_int>` position, :ref:`int<class_int>` chars **)**
 
 
-Erase ``chars`` characters from the string starting from ``position``.
+Erases ``chars`` characters from the string starting from ``position``.
 
 
 .. _class_String_find:
 .. _class_String_find:
 
 
 - :ref:`int<class_int>` **find** **(** :ref:`String<class_string>` what, :ref:`int<class_int>` from=0 **)**
 - :ref:`int<class_int>` **find** **(** :ref:`String<class_string>` what, :ref:`int<class_int>` from=0 **)**
 
 
-Find the first occurrence of a substring, return the starting position of the substring or -1 if not found. Optionally, the initial search index can be passed.
+Finds the first occurrence of a substring. Returns the starting position of the substring or -1 if not found. Optionally, the initial search index can be passed.
 
 
 .. _class_String_find_last:
 .. _class_String_find_last:
 
 
 - :ref:`int<class_int>` **find_last** **(** :ref:`String<class_string>` what **)**
 - :ref:`int<class_int>` **find_last** **(** :ref:`String<class_string>` what **)**
 
 
-Find the last occurrence of a substring, return the starting position of the substring or -1 if not found. Optionally, the initial search index can be passed.
+Finds the last occurrence of a substring. Returns the starting position of the substring or -1 if not found. Optionally, the initial search index can be passed.
 
 
 .. _class_String_findn:
 .. _class_String_findn:
 
 
 - :ref:`int<class_int>` **findn** **(** :ref:`String<class_string>` what, :ref:`int<class_int>` from=0 **)**
 - :ref:`int<class_int>` **findn** **(** :ref:`String<class_string>` what, :ref:`int<class_int>` from=0 **)**
 
 
-Find the first occurrence of a substring but search as case-insensitive, return the starting position of the substring or -1 if not found. Optionally, the initial search index can be passed.
+Finds the first occurrence of a substring, ignoring case. Returns the starting position of the substring or -1 if not found. Optionally, the initial search index can be passed.
 
 
 .. _class_String_format:
 .. _class_String_format:
 
 
 - :ref:`String<class_string>` **format** **(** var values, :ref:`String<class_string>` placeholder={_} **)**
 - :ref:`String<class_string>` **format** **(** var values, :ref:`String<class_string>` placeholder={_} **)**
 
 
+Formats the string by replacing all occurences of ``placeholder`` with ``values``.
+
 .. _class_String_get_base_dir:
 .. _class_String_get_base_dir:
 
 
 - :ref:`String<class_string>` **get_base_dir** **(** **)**
 - :ref:`String<class_string>` **get_base_dir** **(** **)**
 
 
-If the string is a path to a file, return the base directory.
+If the string is a valid file path, returns the base directory name.
 
 
 .. _class_String_get_basename:
 .. _class_String_get_basename:
 
 
 - :ref:`String<class_string>` **get_basename** **(** **)**
 - :ref:`String<class_string>` **get_basename** **(** **)**
 
 
-If the string is a path to a file, return the path to the file without the extension.
+If the string is a valid file path, returns the full file path without the extension.
 
 
 .. _class_String_get_extension:
 .. _class_String_get_extension:
 
 
 - :ref:`String<class_string>` **get_extension** **(** **)**
 - :ref:`String<class_string>` **get_extension** **(** **)**
 
 
-If the string is a path to a file, return the extension.
+If the string is a valid file path, returns the extension.
 
 
 .. _class_String_get_file:
 .. _class_String_get_file:
 
 
 - :ref:`String<class_string>` **get_file** **(** **)**
 - :ref:`String<class_string>` **get_file** **(** **)**
 
 
-If the string is a path to a file, return the file and ignore the base directory.
+If the string is a valid file path, returns the filename.
 
 
 .. _class_String_hash:
 .. _class_String_hash:
 
 
 - :ref:`int<class_int>` **hash** **(** **)**
 - :ref:`int<class_int>` **hash** **(** **)**
 
 
-Hash the string and return a 32 bits integer.
+Hashes the string and returns a 32-bit integer.
 
 
 .. _class_String_hex_to_int:
 .. _class_String_hex_to_int:
 
 
 - :ref:`int<class_int>` **hex_to_int** **(** **)**
 - :ref:`int<class_int>` **hex_to_int** **(** **)**
 
 
-Convert a string containing a hexadecimal number into an int.
+Converts a string containing a hexadecimal number into an integer.
 
 
 .. _class_String_insert:
 .. _class_String_insert:
 
 
 - :ref:`String<class_string>` **insert** **(** :ref:`int<class_int>` position, :ref:`String<class_string>` what **)**
 - :ref:`String<class_string>` **insert** **(** :ref:`int<class_int>` position, :ref:`String<class_string>` what **)**
 
 
-Insert a substring at a given position.
+Inserts a substring at a given position.
 
 
 .. _class_String_is_abs_path:
 .. _class_String_is_abs_path:
 
 
 - :ref:`bool<class_bool>` **is_abs_path** **(** **)**
 - :ref:`bool<class_bool>` **is_abs_path** **(** **)**
 
 
-If the string is a path to a file or directory, return true if the path is absolute.
+If the string is a path to a file or directory, returns ``true`` if the path is absolute.
 
 
 .. _class_String_is_rel_path:
 .. _class_String_is_rel_path:
 
 
 - :ref:`bool<class_bool>` **is_rel_path** **(** **)**
 - :ref:`bool<class_bool>` **is_rel_path** **(** **)**
 
 
-If the string is a path to a file or directory, return true if the path is relative.
+If the string is a path to a file or directory, returns ``true`` if the path is relative.
 
 
 .. _class_String_is_subsequence_of:
 .. _class_String_is_subsequence_of:
 
 
 - :ref:`bool<class_bool>` **is_subsequence_of** **(** :ref:`String<class_string>` text **)**
 - :ref:`bool<class_bool>` **is_subsequence_of** **(** :ref:`String<class_string>` text **)**
 
 
-Check whether this string is a subsequence of the given string.
+Returns ``true`` if this string is a subsequence of the given string.
 
 
 .. _class_String_is_subsequence_ofi:
 .. _class_String_is_subsequence_ofi:
 
 
 - :ref:`bool<class_bool>` **is_subsequence_ofi** **(** :ref:`String<class_string>` text **)**
 - :ref:`bool<class_bool>` **is_subsequence_ofi** **(** :ref:`String<class_string>` text **)**
 
 
-Check whether this string is a subsequence of the given string, without considering case.
+Returns ``true`` if this string is a subsequence of the given string, without considering case.
 
 
 .. _class_String_is_valid_float:
 .. _class_String_is_valid_float:
 
 
 - :ref:`bool<class_bool>` **is_valid_float** **(** **)**
 - :ref:`bool<class_bool>` **is_valid_float** **(** **)**
 
 
-Check whether the string contains a valid float.
+Returns ``true`` if this string contains a valid float.
 
 
 .. _class_String_is_valid_html_color:
 .. _class_String_is_valid_html_color:
 
 
 - :ref:`bool<class_bool>` **is_valid_html_color** **(** **)**
 - :ref:`bool<class_bool>` **is_valid_html_color** **(** **)**
 
 
-Check whether the string contains a valid color in HTML notation.
+Returns ``true`` if this string contains a valid color in HTML notation.
 
 
 .. _class_String_is_valid_identifier:
 .. _class_String_is_valid_identifier:
 
 
 - :ref:`bool<class_bool>` **is_valid_identifier** **(** **)**
 - :ref:`bool<class_bool>` **is_valid_identifier** **(** **)**
 
 
-Check whether the string is a valid identifier. As is common in programming languages, a valid identifier may contain only letters, digits and underscores (\_) and the first character may not be a digit.
+Returns ``true`` if this string is a valid identifier. A valid identifier may contain only letters, digits and underscores (\_) and the first character may not be a digit.
 
 
 .. _class_String_is_valid_integer:
 .. _class_String_is_valid_integer:
 
 
 - :ref:`bool<class_bool>` **is_valid_integer** **(** **)**
 - :ref:`bool<class_bool>` **is_valid_integer** **(** **)**
 
 
-Check whether the string contains a valid integer.
+Returns ``true`` if this string contains a valid integer.
 
 
 .. _class_String_is_valid_ip_address:
 .. _class_String_is_valid_ip_address:
 
 
 - :ref:`bool<class_bool>` **is_valid_ip_address** **(** **)**
 - :ref:`bool<class_bool>` **is_valid_ip_address** **(** **)**
 
 
-Check whether the string contains a valid IP address.
+Returns ``true`` if this string contains a valid IP address.
 
 
 .. _class_String_json_escape:
 .. _class_String_json_escape:
 
 
 - :ref:`String<class_string>` **json_escape** **(** **)**
 - :ref:`String<class_string>` **json_escape** **(** **)**
 
 
-Return a copy of the string with special characters escaped using the JSON standard.
+Returns a copy of the string with special characters escaped using the JSON standard.
 
 
 .. _class_String_left:
 .. _class_String_left:
 
 
 - :ref:`String<class_string>` **left** **(** :ref:`int<class_int>` position **)**
 - :ref:`String<class_string>` **left** **(** :ref:`int<class_int>` position **)**
 
 
-Return an amount of characters from the left of the string.
+Returns a number of characters from the left of the string.
 
 
 .. _class_String_length:
 .. _class_String_length:
 
 
 - :ref:`int<class_int>` **length** **(** **)**
 - :ref:`int<class_int>` **length** **(** **)**
 
 
-Return the length of the string in characters.
+Returns the string's amount of characters.
 
 
 .. _class_String_match:
 .. _class_String_match:
 
 
 - :ref:`bool<class_bool>` **match** **(** :ref:`String<class_string>` expr **)**
 - :ref:`bool<class_bool>` **match** **(** :ref:`String<class_string>` expr **)**
 
 
-Do a simple expression match, where '\*' matches zero or more arbitrary characters and '?' matches any single character except '.'.
+Does a simple expression match, where '\*' matches zero or more arbitrary characters and '?' matches any single character except '.'.
 
 
 .. _class_String_matchn:
 .. _class_String_matchn:
 
 
 - :ref:`bool<class_bool>` **matchn** **(** :ref:`String<class_string>` expr **)**
 - :ref:`bool<class_bool>` **matchn** **(** :ref:`String<class_string>` expr **)**
 
 
-Do a simple case insensitive expression match, using ? and \* wildcards (see :ref:`match<class_String_match>`).
+Does a simple case insensitive expression match, using ? and \* wildcards (see :ref:`match<class_String_match>`).
 
 
 .. _class_String_md5_buffer:
 .. _class_String_md5_buffer:
 
 
 - :ref:`PoolByteArray<class_poolbytearray>` **md5_buffer** **(** **)**
 - :ref:`PoolByteArray<class_poolbytearray>` **md5_buffer** **(** **)**
 
 
-Return the MD5 hash of the string as an array of bytes.
+Returns the MD5 hash of the string as an array of bytes.
 
 
 .. _class_String_md5_text:
 .. _class_String_md5_text:
 
 
 - :ref:`String<class_string>` **md5_text** **(** **)**
 - :ref:`String<class_string>` **md5_text** **(** **)**
 
 
-Return the MD5 hash of the string as a string.
+Returns the MD5 hash of the string as a string.
 
 
 .. _class_String_nocasecmp_to:
 .. _class_String_nocasecmp_to:
 
 
 - :ref:`int<class_int>` **nocasecmp_to** **(** :ref:`String<class_string>` to **)**
 - :ref:`int<class_int>` **nocasecmp_to** **(** :ref:`String<class_string>` to **)**
 
 
-Perform a case-insensitive comparison to another string, return -1 if less, 0 if equal and +1 if greater.
+Performs a case-insensitive comparison to another string. Returns ``-1`` if less than, ``+1`` if greater than, or ``0`` if equal.
 
 
 .. _class_String_ord_at:
 .. _class_String_ord_at:
 
 
 - :ref:`int<class_int>` **ord_at** **(** :ref:`int<class_int>` at **)**
 - :ref:`int<class_int>` **ord_at** **(** :ref:`int<class_int>` at **)**
 
 
-Return the character code at position ``at``.
+Returns the character code at position ``at``.
 
 
 .. _class_String_pad_decimals:
 .. _class_String_pad_decimals:
 
 
 - :ref:`String<class_string>` **pad_decimals** **(** :ref:`int<class_int>` digits **)**
 - :ref:`String<class_string>` **pad_decimals** **(** :ref:`int<class_int>` digits **)**
 
 
-Format a number to have an exact number of ``digits`` after the decimal point.
+Formats a number to have an exact number of ``digits`` after the decimal point.
 
 
 .. _class_String_pad_zeros:
 .. _class_String_pad_zeros:
 
 
 - :ref:`String<class_string>` **pad_zeros** **(** :ref:`int<class_int>` digits **)**
 - :ref:`String<class_string>` **pad_zeros** **(** :ref:`int<class_int>` digits **)**
 
 
-Format a number to have an exact number of ``digits`` before the decimal point.
+Formats a number to have an exact number of ``digits`` before the decimal point.
 
 
 .. _class_String_percent_decode:
 .. _class_String_percent_decode:
 
 
@@ -545,7 +595,7 @@ Decode a percent-encoded string. See :ref:`percent_encode<class_String_percent_e
 
 
 - :ref:`String<class_string>` **percent_encode** **(** **)**
 - :ref:`String<class_string>` **percent_encode** **(** **)**
 
 
-Percent-encode a string. This is meant to encode parameters in a URL when sending a HTTP GET request and bodies of form-urlencoded POST request.
+Percent-encodes a string. Encodes parameters in a URL when sending a HTTP GET request (and bodies of form-urlencoded POST requests).
 
 
 .. _class_String_plus_file:
 .. _class_String_plus_file:
 
 
@@ -557,31 +607,31 @@ If the string is a path, this concatenates ``file`` at the end of the string as
 
 
 - :ref:`String<class_string>` **replace** **(** :ref:`String<class_string>` what, :ref:`String<class_string>` forwhat **)**
 - :ref:`String<class_string>` **replace** **(** :ref:`String<class_string>` what, :ref:`String<class_string>` forwhat **)**
 
 
-Replace occurrences of a substring for different ones inside the string.
+Replaces occurrences of a substring with the given one inside the string.
 
 
 .. _class_String_replacen:
 .. _class_String_replacen:
 
 
 - :ref:`String<class_string>` **replacen** **(** :ref:`String<class_string>` what, :ref:`String<class_string>` forwhat **)**
 - :ref:`String<class_string>` **replacen** **(** :ref:`String<class_string>` what, :ref:`String<class_string>` forwhat **)**
 
 
-Replace occurrences of a substring for different ones inside the string, but search case-insensitive.
+Replaces occurrences of a substring with the given one inside the string. Ignores case.
 
 
 .. _class_String_rfind:
 .. _class_String_rfind:
 
 
 - :ref:`int<class_int>` **rfind** **(** :ref:`String<class_string>` what, :ref:`int<class_int>` from=-1 **)**
 - :ref:`int<class_int>` **rfind** **(** :ref:`String<class_string>` what, :ref:`int<class_int>` from=-1 **)**
 
 
-Perform a search for a substring, but start from the end of the string instead of the beginning.
+Performs a search for a substring, but starts from the end of the string instead of the beginning.
 
 
 .. _class_String_rfindn:
 .. _class_String_rfindn:
 
 
 - :ref:`int<class_int>` **rfindn** **(** :ref:`String<class_string>` what, :ref:`int<class_int>` from=-1 **)**
 - :ref:`int<class_int>` **rfindn** **(** :ref:`String<class_string>` what, :ref:`int<class_int>` from=-1 **)**
 
 
-Perform a search for a substring, but start from the end of the string instead of the beginning. Also search case-insensitive.
+Performs a search for a substring, but starts from the end of the string instead of the beginning. Ignores case.
 
 
 .. _class_String_right:
 .. _class_String_right:
 
 
 - :ref:`String<class_string>` **right** **(** :ref:`int<class_int>` position **)**
 - :ref:`String<class_string>` **right** **(** :ref:`int<class_int>` position **)**
 
 
-Return the right side of the string from a given position.
+Returns the right side of the string from a given position.
 
 
 .. _class_String_sha256_buffer:
 .. _class_String_sha256_buffer:
 
 
@@ -591,84 +641,84 @@ Return the right side of the string from a given position.
 
 
 - :ref:`String<class_string>` **sha256_text** **(** **)**
 - :ref:`String<class_string>` **sha256_text** **(** **)**
 
 
-Return the SHA-256 hash of the string as a string.
+Returns the SHA-256 hash of the string as a string.
 
 
 .. _class_String_similarity:
 .. _class_String_similarity:
 
 
 - :ref:`float<class_float>` **similarity** **(** :ref:`String<class_string>` text **)**
 - :ref:`float<class_float>` **similarity** **(** :ref:`String<class_string>` text **)**
 
 
-Return the similarity index of the text compared to this string. 1 means totally similar and 0 means totally dissimilar.
+Returns the similarity index of the text compared to this string. 1 means totally similar and 0 means totally dissimilar.
 
 
 .. _class_String_split:
 .. _class_String_split:
 
 
 - :ref:`PoolStringArray<class_poolstringarray>` **split** **(** :ref:`String<class_string>` divisor, :ref:`bool<class_bool>` allow_empty=True **)**
 - :ref:`PoolStringArray<class_poolstringarray>` **split** **(** :ref:`String<class_string>` divisor, :ref:`bool<class_bool>` allow_empty=True **)**
 
 
-Split the string by a divisor string, return an array of the substrings. Example "One,Two,Three" will return "One","Two","Three" if split by ",".
+Splits the string by a divisor string and returns an array of the substrings. Example "One,Two,Three" will return "One","Two","Three" if split by ",".
 
 
 .. _class_String_split_floats:
 .. _class_String_split_floats:
 
 
 - :ref:`PoolRealArray<class_poolrealarray>` **split_floats** **(** :ref:`String<class_string>` divisor, :ref:`bool<class_bool>` allow_empty=True **)**
 - :ref:`PoolRealArray<class_poolrealarray>` **split_floats** **(** :ref:`String<class_string>` divisor, :ref:`bool<class_bool>` allow_empty=True **)**
 
 
-Split the string in floats by using a divisor string, return an array of the substrings. Example "1,2.5,3" will return 1,2.5,3 if split by ",".
+Splits the string in floats by using a divisor string and returns an array of the substrings. Example "1,2.5,3" will return 1,2.5,3 if split by ",".
 
 
 .. _class_String_strip_edges:
 .. _class_String_strip_edges:
 
 
 - :ref:`String<class_string>` **strip_edges** **(** :ref:`bool<class_bool>` left=True, :ref:`bool<class_bool>` right=True **)**
 - :ref:`String<class_string>` **strip_edges** **(** :ref:`bool<class_bool>` left=True, :ref:`bool<class_bool>` right=True **)**
 
 
-Return a copy of the string stripped of any non-printable character at the beginning and the end. The optional arguments are used to toggle stripping on the left and right edges respectively.
+Returns a copy of the string stripped of any non-printable character at the beginning and the end. The optional arguments are used to toggle stripping on the left and right edges respectively.
 
 
 .. _class_String_substr:
 .. _class_String_substr:
 
 
 - :ref:`String<class_string>` **substr** **(** :ref:`int<class_int>` from, :ref:`int<class_int>` len **)**
 - :ref:`String<class_string>` **substr** **(** :ref:`int<class_int>` from, :ref:`int<class_int>` len **)**
 
 
-Return part of the string from the position ``from``, with length ``len``.
+Returns part of the string from the position ``from`` with length ``len``.
 
 
 .. _class_String_to_ascii:
 .. _class_String_to_ascii:
 
 
 - :ref:`PoolByteArray<class_poolbytearray>` **to_ascii** **(** **)**
 - :ref:`PoolByteArray<class_poolbytearray>` **to_ascii** **(** **)**
 
 
-Convert the String (which is a character array) to PoolByteArray (which is an array of bytes). The conversion is speeded up in comparison to to_utf8() with the assumption that all the characters the String contains are only ASCII characters.
+Converts the String (which is a character array) to :ref:`PoolByteArray<class_poolbytearray>` (which is an array of bytes). The conversion is sped up in comparison to to_utf8() with the assumption that all the characters the String contains are only ASCII characters.
 
 
 .. _class_String_to_float:
 .. _class_String_to_float:
 
 
 - :ref:`float<class_float>` **to_float** **(** **)**
 - :ref:`float<class_float>` **to_float** **(** **)**
 
 
-Convert a string, containing a decimal number, into a ``float``.
+Converts a string containing a decimal number into a ``float``.
 
 
 .. _class_String_to_int:
 .. _class_String_to_int:
 
 
 - :ref:`int<class_int>` **to_int** **(** **)**
 - :ref:`int<class_int>` **to_int** **(** **)**
 
 
-Convert a string, containing an integer number, into an ``int``.
+Converts a string containing an integer number into an ``int``.
 
 
 .. _class_String_to_lower:
 .. _class_String_to_lower:
 
 
 - :ref:`String<class_string>` **to_lower** **(** **)**
 - :ref:`String<class_string>` **to_lower** **(** **)**
 
 
-Return the string converted to lowercase.
+Returns the string converted to lowercase.
 
 
 .. _class_String_to_upper:
 .. _class_String_to_upper:
 
 
 - :ref:`String<class_string>` **to_upper** **(** **)**
 - :ref:`String<class_string>` **to_upper** **(** **)**
 
 
-Return the string converted to uppercase.
+Returns the string converted to uppercase.
 
 
 .. _class_String_to_utf8:
 .. _class_String_to_utf8:
 
 
 - :ref:`PoolByteArray<class_poolbytearray>` **to_utf8** **(** **)**
 - :ref:`PoolByteArray<class_poolbytearray>` **to_utf8** **(** **)**
 
 
-Convert the String (which is an array of characters) to PoolByteArray (which is an array of bytes). The conversion is a bit slower than to_ascii(), but supports all UTF-8 characters. Therefore, you should prefer this function over to_ascii().
+Converts the String (which is an array of characters) to :ref:`PoolByteArray<class_poolbytearray>` (which is an array of bytes). The conversion is a bit slower than to_ascii(), but supports all UTF-8 characters. Therefore, you should prefer this function over to_ascii().
 
 
 .. _class_String_xml_escape:
 .. _class_String_xml_escape:
 
 
 - :ref:`String<class_string>` **xml_escape** **(** **)**
 - :ref:`String<class_string>` **xml_escape** **(** **)**
 
 
-Return a copy of the string with special characters escaped using the XML standard.
+Returns a copy of the string with special characters escaped using the XML standard.
 
 
 .. _class_String_xml_unescape:
 .. _class_String_xml_unescape:
 
 
 - :ref:`String<class_string>` **xml_unescape** **(** **)**
 - :ref:`String<class_string>` **xml_unescape** **(** **)**
 
 
-Return a copy of the string with escaped characters replaced by their meanings according to the XML standard.
+Returns a copy of the string with escaped characters replaced by their meanings according to the XML standard.
 
 
 
 

+ 2 - 2
classes/class_surfacetool.rst

@@ -68,7 +68,7 @@ Member Functions
 Description
 Description
 -----------
 -----------
 
 
-The :ref:`SurfaceTool<class_surfacetool>` is used to construct a :ref:`Mesh<class_mesh>` by specifying vertex attributes individually. It can be used to construct a :ref:`Mesh<class_mesh>` from script. All properties except index need to be added before a call to :ref:`add_vertex<class_SurfaceTool_add_vertex>`. For example adding vertex colors and UVs looks like
+The ``SurfaceTool`` is used to construct a :ref:`Mesh<class_mesh>` by specifying vertex attributes individually. It can be used to construct a :ref:`Mesh<class_mesh>` from script. All properties except index need to be added before a call to :ref:`add_vertex<class_SurfaceTool_add_vertex>`. For example adding vertex colors and UVs looks like
 
 
 ::
 ::
 
 
@@ -78,7 +78,7 @@ The :ref:`SurfaceTool<class_surfacetool>` is used to construct a :ref:`Mesh<clas
     st.add_uv(Vector2(0, 0))
     st.add_uv(Vector2(0, 0))
     st.add_vertex(Vector3(0, 0, 0))
     st.add_vertex(Vector3(0, 0, 0))
 
 
-The :ref:`SurfaceTool<class_surfacetool>` now contains one vertex of a triangle which has a UV coordinate and a specified :ref:`Color<class_color>`. If another vertex were added without calls to :ref:`add_uv<class_SurfaceTool_add_uv>` or :ref:`add_color<class_SurfaceTool_add_color>` then the last values would be used.
+The ``SurfaceTool`` now contains one vertex of a triangle which has a UV coordinate and a specified :ref:`Color<class_color>`. If another vertex were added without calls to :ref:`add_uv<class_SurfaceTool_add_uv>` or :ref:`add_color<class_SurfaceTool_add_color>` then the last values would be used.
 
 
 It is very important that vertex attributes are passed **before** the call to :ref:`add_vertex<class_SurfaceTool_add_vertex>`, failure to do this will result in an error when committing the vertex information to a mesh.
 It is very important that vertex attributes are passed **before** the call to :ref:`add_vertex<class_SurfaceTool_add_vertex>`, failure to do this will result in an error when committing the vertex information to a mesh.
 
 

+ 31 - 19
classes/class_tabcontainer.rst

@@ -64,17 +64,19 @@ Signals
 
 
 - **pre_popup_pressed** **(** **)**
 - **pre_popup_pressed** **(** **)**
 
 
+Emitted when the ``TabContainer``'s :ref:`Popup<class_popup>` button is clicked. See :ref:`set_popup<class_TabContainer_set_popup>` for details.
+
 .. _class_TabContainer_tab_changed:
 .. _class_TabContainer_tab_changed:
 
 
 - **tab_changed** **(** :ref:`int<class_int>` tab **)**
 - **tab_changed** **(** :ref:`int<class_int>` tab **)**
 
 
-Emitted only when the current tab changes.
+Emitted when switching to another tab.
 
 
 .. _class_TabContainer_tab_selected:
 .. _class_TabContainer_tab_selected:
 
 
 - **tab_selected** **(** :ref:`int<class_int>` tab **)**
 - **tab_selected** **(** :ref:`int<class_int>` tab **)**
 
 
-Emitted when a tab is being selected, even if it is the same tab.
+Emitted when a tab is selected, even if it is the current tab.
 
 
 
 
 Member Variables
 Member Variables
@@ -82,15 +84,15 @@ Member Variables
 
 
   .. _class_TabContainer_current_tab:
   .. _class_TabContainer_current_tab:
 
 
-- :ref:`int<class_int>` **current_tab** - The current tab.
+- :ref:`int<class_int>` **current_tab** - The current tab index. When set, this index's :ref:`Control<class_control>` node's ``visible`` property is set to ``true`` and all others are set to ``false``.
 
 
   .. _class_TabContainer_tab_align:
   .. _class_TabContainer_tab_align:
 
 
-- :ref:`int<class_int>` **tab_align** - The alignment of all the tabs of the tab container. See the ``ALIGN\_\*`` constants.
+- :ref:`int<class_int>` **tab_align** - The alignment of all tabs in the tab container. See the ``ALIGN\_\*`` constants for details.
 
 
   .. _class_TabContainer_tabs_visible:
   .. _class_TabContainer_tabs_visible:
 
 
-- :ref:`bool<class_bool>` **tabs_visible** - If ``true`` all tabs that are children of the TabContainer will be visible.
+- :ref:`bool<class_bool>` **tabs_visible** - If ``true`` tabs are visible. If ``false`` tabs' content and titles are hidden. Default value: ``true``.
 
 
 
 
 Numeric Constants
 Numeric Constants
@@ -103,9 +105,13 @@ Numeric Constants
 Description
 Description
 -----------
 -----------
 
 
-Tabbed Container. Contains several children controls, but shows only one at the same time. Clicking on the top tabs allows to change the currently visible one.
+Sets the active tab's ``visible`` property to the value ``true``. Sets all other children's to ``false``.
+
+Ignores non-:ref:`Control<class_control>` children.
+
+Individual tabs are always visible unless you use :ref:`set_tab_disabled<class_TabContainer_set_tab_disabled>` and :ref:`set_tab_title<class_TabContainer_set_tab_title>` to hide it.
 
 
-Children controls of this one automatically.
+To hide only a tab's content, nest the content inside a child :ref:`Control<class_control>`, so it receives the ``TabContainer``'s visibility setting instead.
 
 
 Member Function Description
 Member Function Description
 ---------------------------
 ---------------------------
@@ -120,39 +126,43 @@ Returns ``true`` if the tabs are visible.
 
 
 - :ref:`int<class_int>` **get_current_tab** **(** **)** const
 - :ref:`int<class_int>` **get_current_tab** **(** **)** const
 
 
-Returns the current tab index that is being shown.
+Returns the currently visible tab's index.
 
 
 .. _class_TabContainer_get_current_tab_control:
 .. _class_TabContainer_get_current_tab_control:
 
 
 - :ref:`Control<class_control>` **get_current_tab_control** **(** **)** const
 - :ref:`Control<class_control>` **get_current_tab_control** **(** **)** const
 
 
+Returns the child :ref:`Control<class_control>` node located at the active tab index.
+
 .. _class_TabContainer_get_popup:
 .. _class_TabContainer_get_popup:
 
 
 - :ref:`Popup<class_popup>` **get_popup** **(** **)** const
 - :ref:`Popup<class_popup>` **get_popup** **(** **)** const
 
 
+Returns the :ref:`Popup<class_popup>` node instance if one has been set already with :ref:`set_popup<class_TabContainer_set_popup>`.
+
 .. _class_TabContainer_get_previous_tab:
 .. _class_TabContainer_get_previous_tab:
 
 
 - :ref:`int<class_int>` **get_previous_tab** **(** **)** const
 - :ref:`int<class_int>` **get_previous_tab** **(** **)** const
 
 
-Returns the previous tab index that was being shown.
+Returns the previously active tab index.
 
 
 .. _class_TabContainer_get_tab_align:
 .. _class_TabContainer_get_tab_align:
 
 
 - :ref:`int<class_int>` **get_tab_align** **(** **)** const
 - :ref:`int<class_int>` **get_tab_align** **(** **)** const
 
 
-Returns the tab alignment.See the ALIGN\_\* constants.
+Returns the tab alignment. See the ``ALIGN\_\*`` constants.
 
 
 .. _class_TabContainer_get_tab_control:
 .. _class_TabContainer_get_tab_control:
 
 
 - :ref:`Control<class_control>` **get_tab_control** **(** :ref:`int<class_int>` idx **)** const
 - :ref:`Control<class_control>` **get_tab_control** **(** :ref:`int<class_int>` idx **)** const
 
 
-Returns the current tab control that is being shown.
+Returns the currently visible tab's :ref:`Control<class_control>` node.
 
 
 .. _class_TabContainer_get_tab_count:
 .. _class_TabContainer_get_tab_count:
 
 
 - :ref:`int<class_int>` **get_tab_count** **(** **)** const
 - :ref:`int<class_int>` **get_tab_count** **(** **)** const
 
 
-Returns the amount of tabs.
+Returns the number of tabs.
 
 
 .. _class_TabContainer_get_tab_disabled:
 .. _class_TabContainer_get_tab_disabled:
 
 
@@ -170,46 +180,48 @@ Returns the :ref:`Texture<class_texture>` for the tab at index ``tab_idx`` or nu
 
 
 - :ref:`String<class_string>` **get_tab_title** **(** :ref:`int<class_int>` tab_idx **)** const
 - :ref:`String<class_string>` **get_tab_title** **(** :ref:`int<class_int>` tab_idx **)** const
 
 
-Returns the title for the tab at index ``tab_idx``. Tab titles are by default the children node name, but this can be overridden.
+Returns the title of the tab at index ``tab_idx``. Tab titles default to the name of the indexed child node, but this can be overridden with :ref:`set_tab_title<class_TabContainer_set_tab_title>`.
 
 
 .. _class_TabContainer_set_current_tab:
 .. _class_TabContainer_set_current_tab:
 
 
 - void **set_current_tab** **(** :ref:`int<class_int>` tab_idx **)**
 - void **set_current_tab** **(** :ref:`int<class_int>` tab_idx **)**
 
 
-Bring a tab (and the Control it represents) to the front, and hide the rest.
+Sets to ``false`` the ``visible`` property for all :ref:`Control<class_control>` children except for the tab at ``tab_idx``.
 
 
 .. _class_TabContainer_set_popup:
 .. _class_TabContainer_set_popup:
 
 
 - void **set_popup** **(** :ref:`Node<class_node>` popup **)**
 - void **set_popup** **(** :ref:`Node<class_node>` popup **)**
 
 
+If set on a :ref:`Popup<class_popup>` node instance, a popup menu icon appears in the top-right corner of the ``TabContainer``. Clicking it will expand the :ref:`Popup<class_popup>` node.
+
 .. _class_TabContainer_set_tab_align:
 .. _class_TabContainer_set_tab_align:
 
 
 - void **set_tab_align** **(** :ref:`int<class_int>` align **)**
 - void **set_tab_align** **(** :ref:`int<class_int>` align **)**
 
 
-Set tab alignment, from the ALIGN\_\* enum. Moves tabs to the left, right or center.
+Sets tab alignment, from the ``ALIGN\_\*`` constants. Moves tabs to the left, right, or center.
 
 
 .. _class_TabContainer_set_tab_disabled:
 .. _class_TabContainer_set_tab_disabled:
 
 
 - void **set_tab_disabled** **(** :ref:`int<class_int>` tab_idx, :ref:`bool<class_bool>` disabled **)**
 - void **set_tab_disabled** **(** :ref:`int<class_int>` tab_idx, :ref:`bool<class_bool>` disabled **)**
 
 
-Set tab at index ``tab_idx`` disabled.
+If ``disabled`` is false, hides the tab at index ``tab_idx``. Note that its title text will remain, unless also removed with :ref:`set_tab_title<class_TabContainer_set_tab_title>`.
 
 
 .. _class_TabContainer_set_tab_icon:
 .. _class_TabContainer_set_tab_icon:
 
 
 - void **set_tab_icon** **(** :ref:`int<class_int>` tab_idx, :ref:`Texture<class_texture>` icon **)**
 - void **set_tab_icon** **(** :ref:`int<class_int>` tab_idx, :ref:`Texture<class_texture>` icon **)**
 
 
-Set an icon for a tab at index ``tab_idx``.
+Sets an icon for the tab at index ``tab_idx``.
 
 
 .. _class_TabContainer_set_tab_title:
 .. _class_TabContainer_set_tab_title:
 
 
 - void **set_tab_title** **(** :ref:`int<class_int>` tab_idx, :ref:`String<class_string>` title **)**
 - void **set_tab_title** **(** :ref:`int<class_int>` tab_idx, :ref:`String<class_string>` title **)**
 
 
-Set a title for the tab at index ``tab_idx``. Tab titles are by default the children node name, but this can be overridden.
+Sets a title for the tab at index ``tab_idx``. Tab titles default to the name of the indexed child node, but this can be overridden with :ref:`set_tab_title<class_TabContainer_set_tab_title>`.
 
 
 .. _class_TabContainer_set_tabs_visible:
 .. _class_TabContainer_set_tabs_visible:
 
 
 - void **set_tabs_visible** **(** :ref:`bool<class_bool>` visible **)**
 - void **set_tabs_visible** **(** :ref:`bool<class_bool>` visible **)**
 
 
-If ``true`` all the tabs will be visible.
+If ``true`` tabs are visible. If ``false`` tabs' content and titles are hidden. Default value: ``true``.
 
 
 
 

+ 1 - 1
classes/class_tabs.rst

@@ -104,9 +104,9 @@ Numeric Constants
 - **ALIGN_CENTER** = **1**
 - **ALIGN_CENTER** = **1**
 - **ALIGN_RIGHT** = **2**
 - **ALIGN_RIGHT** = **2**
 - **ALIGN_MAX** = **3**
 - **ALIGN_MAX** = **3**
+- **CLOSE_BUTTON_SHOW_NEVER** = **0**
 - **CLOSE_BUTTON_SHOW_ACTIVE_ONLY** = **1**
 - **CLOSE_BUTTON_SHOW_ACTIVE_ONLY** = **1**
 - **CLOSE_BUTTON_SHOW_ALWAYS** = **2**
 - **CLOSE_BUTTON_SHOW_ALWAYS** = **2**
-- **CLOSE_BUTTON_SHOW_NEVER** = **0**
 - **CLOSE_BUTTON_MAX** = **3**
 - **CLOSE_BUTTON_MAX** = **3**
 
 
 Description
 Description

+ 16 - 0
classes/class_textedit.rst

@@ -78,6 +78,8 @@ Member Functions
 +------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`bool<class_bool>`                  | :ref:`is_highlight_all_occurrences_enabled<class_TextEdit_is_highlight_all_occurrences_enabled>` **(** **)** const                                                                                                        |
 | :ref:`bool<class_bool>`                  | :ref:`is_highlight_all_occurrences_enabled<class_TextEdit_is_highlight_all_occurrences_enabled>` **(** **)** const                                                                                                        |
 +------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                  | :ref:`is_highlight_current_line_enabled<class_TextEdit_is_highlight_current_line_enabled>` **(** **)** const                                                                                                              |
++------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`bool<class_bool>`                  | :ref:`is_overriding_selected_font_color<class_TextEdit_is_overriding_selected_font_color>` **(** **)** const                                                                                                              |
 | :ref:`bool<class_bool>`                  | :ref:`is_overriding_selected_font_color<class_TextEdit_is_overriding_selected_font_color>` **(** **)** const                                                                                                              |
 +------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`bool<class_bool>`                  | :ref:`is_selection_active<class_TextEdit_is_selection_active>` **(** **)** const                                                                                                                                          |
 | :ref:`bool<class_bool>`                  | :ref:`is_selection_active<class_TextEdit_is_selection_active>` **(** **)** const                                                                                                                                          |
@@ -102,6 +104,8 @@ Member Functions
 +------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                     | :ref:`set_highlight_all_occurrences<class_TextEdit_set_highlight_all_occurrences>` **(** :ref:`bool<class_bool>` enable **)**                                                                                             |
 | void                                     | :ref:`set_highlight_all_occurrences<class_TextEdit_set_highlight_all_occurrences>` **(** :ref:`bool<class_bool>` enable **)**                                                                                             |
 +------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                     | :ref:`set_highlight_current_line<class_TextEdit_set_highlight_current_line>` **(** :ref:`bool<class_bool>` enabled **)**                                                                                                  |
++------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                     | :ref:`set_max_chars<class_TextEdit_set_max_chars>` **(** :ref:`int<class_int>` amount **)**                                                                                                                               |
 | void                                     | :ref:`set_max_chars<class_TextEdit_set_max_chars>` **(** :ref:`int<class_int>` amount **)**                                                                                                                               |
 +------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                     | :ref:`set_override_selected_font_color<class_TextEdit_set_override_selected_font_color>` **(** :ref:`bool<class_bool>` override **)**                                                                                     |
 | void                                     | :ref:`set_override_selected_font_color<class_TextEdit_set_override_selected_font_color>` **(** :ref:`bool<class_bool>` override **)**                                                                                     |
@@ -172,6 +176,10 @@ Member Variables
 
 
 - :ref:`bool<class_bool>` **highlight_all_occurrences**
 - :ref:`bool<class_bool>` **highlight_all_occurrences**
 
 
+  .. _class_TextEdit_highlight_current_line:
+
+- :ref:`bool<class_bool>` **highlight_current_line**
+
   .. _class_TextEdit_override_selected_font_color:
   .. _class_TextEdit_override_selected_font_color:
 
 
 - :ref:`bool<class_bool>` **override_selected_font_color**
 - :ref:`bool<class_bool>` **override_selected_font_color**
@@ -379,6 +387,10 @@ Insert a given text at the cursor position.
 
 
 Returns true if highlight all occurrences is enabled.
 Returns true if highlight all occurrences is enabled.
 
 
+.. _class_TextEdit_is_highlight_current_line_enabled:
+
+- :ref:`bool<class_bool>` **is_highlight_current_line_enabled** **(** **)** const
+
 .. _class_TextEdit_is_overriding_selected_font_color:
 .. _class_TextEdit_is_overriding_selected_font_color:
 
 
 - :ref:`bool<class_bool>` **is_overriding_selected_font_color** **(** **)** const
 - :ref:`bool<class_bool>` **is_overriding_selected_font_color** **(** **)** const
@@ -445,6 +457,10 @@ Select all the text.
 
 
 Set to enable highlighting all occurrences of the current selection.
 Set to enable highlighting all occurrences of the current selection.
 
 
+.. _class_TextEdit_set_highlight_current_line:
+
+- void **set_highlight_current_line** **(** :ref:`bool<class_bool>` enabled **)**
+
 .. _class_TextEdit_set_max_chars:
 .. _class_TextEdit_set_max_chars:
 
 
 - void **set_max_chars** **(** :ref:`int<class_int>` amount **)**
 - void **set_max_chars** **(** :ref:`int<class_int>` amount **)**

+ 1 - 1
classes/class_texture.rst

@@ -49,11 +49,11 @@ Numeric Constants
 - **FLAG_MIPMAPS** = **1** --- Generate mipmaps, to enable smooth zooming out of the texture.
 - **FLAG_MIPMAPS** = **1** --- Generate mipmaps, to enable smooth zooming out of the texture.
 - **FLAG_REPEAT** = **2** --- Repeat (instead of clamp to edge).
 - **FLAG_REPEAT** = **2** --- Repeat (instead of clamp to edge).
 - **FLAG_FILTER** = **4** --- Turn on magnifying filter, to enable smooth zooming in of the texture.
 - **FLAG_FILTER** = **4** --- Turn on magnifying filter, to enable smooth zooming in of the texture.
-- **FLAG_VIDEO_SURFACE** = **4096** --- Texture is a video surface.
 - **FLAGS_DEFAULT** = **7** --- Default flags. Generate mipmaps, repeat, and filter are enabled.
 - **FLAGS_DEFAULT** = **7** --- Default flags. Generate mipmaps, repeat, and filter are enabled.
 - **FLAG_ANISOTROPIC_FILTER** = **8**
 - **FLAG_ANISOTROPIC_FILTER** = **8**
 - **FLAG_CONVERT_TO_LINEAR** = **16**
 - **FLAG_CONVERT_TO_LINEAR** = **16**
 - **FLAG_MIRRORED_REPEAT** = **32**
 - **FLAG_MIRRORED_REPEAT** = **32**
+- **FLAG_VIDEO_SURFACE** = **4096** --- Texture is a video surface.
 
 
 Description
 Description
 -----------
 -----------

部分文件因为文件数量过多而无法显示