Jelajahi Sumber

Sync classref with current source

Rémi Verschelde 6 tahun lalu
induk
melakukan
156adc98f4
45 mengubah file dengan 961 tambahan dan 106 penghapusan
  1. 2 0
      classes/[email protected]
  2. 2 2
      classes/[email protected]
  3. 2 0
      classes/class_animationplayer.rst
  4. 65 11
      classes/class_audioserver.rst
  5. 19 0
      classes/class_basis.rst
  6. 8 4
      classes/class_camera2d.rst
  7. 2 2
      classes/class_classdb.rst
  8. 172 29
      classes/class_control.rst
  9. 46 0
      classes/class_crypto.rst
  10. 40 0
      classes/class_cryptokey.rst
  11. 2 2
      classes/class_directory.rst
  12. 12 0
      classes/class_editorinterface.rst
  13. 2 2
      classes/class_editorplugin.rst
  14. 6 6
      classes/class_environment.rst
  15. 13 11
      classes/class_filedialog.rst
  16. 10 0
      classes/class_funcref.rst
  17. 12 4
      classes/class_geometryinstance.rst
  18. 12 0
      classes/class_graphedit.rst
  19. 65 0
      classes/class_hashingcontext.rst
  20. 8 0
      classes/class_image.rst
  21. 23 2
      classes/class_input.rst
  22. 1 1
      classes/class_mainloop.rst
  23. 8 0
      classes/class_node.rst
  24. 1 1
      classes/class_object.rst
  25. 6 8
      classes/class_poolbytearray.rst
  26. 2 0
      classes/class_poolintarray.rst
  27. 8 0
      classes/class_popup.rst
  28. 39 7
      classes/class_projectsettings.rst
  29. 0 0
      classes/class_reference.rst
  30. 0 0
      classes/class_resource.rst
  31. 2 0
      classes/class_resourceformatloader.rst
  32. 20 0
      classes/class_resourceformatloadercrypto.rst
  33. 2 0
      classes/class_resourceformatsaver.rst
  34. 20 0
      classes/class_resourceformatsavercrypto.rst
  35. 13 13
      classes/class_streampeerssl.rst
  36. 28 0
      classes/class_textedit.rst
  37. 2 0
      classes/class_tree.rst
  38. 1 1
      classes/class_vector2.rst
  39. 0 0
      classes/class_visualshadernode.rst
  40. 181 0
      classes/class_visualshadernodecustom.rst
  41. 2 0
      classes/class_visualshadernodeexpression.rst
  42. 20 0
      classes/class_visualshadernodeglobalexpression.rst
  43. 22 0
      classes/class_visualshadernodegroupbase.rst
  44. 20 0
      classes/class_visualshadernodevectorscalarmix.rst
  45. 40 0
      classes/class_x509certificate.rst

+ 2 - 0
classes/[email protected]

@@ -479,6 +479,8 @@ The natural exponential function. It raises the mathematical constant **e** to t
 
 **e** has an approximate value of 2.71828.
 
+For exponents to other bases use the method :ref:`pow<class_@GDScript_method_pow>`.
+
 ::
 
     a = exp(2) # Approximately 7.39

+ 2 - 2
classes/[email protected]

@@ -1799,9 +1799,9 @@ enum **PropertyHint**:
 
 - **PROPERTY_HINT_NONE** = **0** --- No hint for the edited property.
 
-- **PROPERTY_HINT_RANGE** = **1** --- Hints that an integer or float property should be within a range specified via the hint string ``"min,max"`` or ``"min,max,step"``. The hint string can optionally include ``"allow_greater"`` and/or ``"allow_lesser"`` to allow manual input going respectively above the max or below the min values. Example: ``"-360,360,1,allow_greater,allow_lesser"``.
+- **PROPERTY_HINT_RANGE** = **1** --- Hints that an integer or float property should be within a range specified via the hint string ``"min,max"`` or ``"min,max,step"``. The hint string can optionally include ``"or_greater"`` and/or ``"or_lesser"`` to allow manual input going respectively above the max or below the min values. Example: ``"-360,360,1,or_greater,or_lesser"``.
 
-- **PROPERTY_HINT_EXP_RANGE** = **2** --- Hints that an integer or float property should be within an exponential range specified via the hint string ``"min,max"`` or ``"min,max,step"``. The hint string can optionally include ``"allow_greater"`` and/or ``"allow_lesser"`` to allow manual input going respectively above the max or below the min values. Example: ``"0.01,100,0.01,allow_greater"``.
+- **PROPERTY_HINT_EXP_RANGE** = **2** --- Hints that an integer or float property should be within an exponential range specified via the hint string ``"min,max"`` or ``"min,max,step"``. The hint string can optionally include ``"or_greater"`` and/or ``"or_lesser"`` to allow manual input going respectively above the max or below the min values. Example: ``"0.01,100,0.01,or_greater"``.
 
 - **PROPERTY_HINT_ENUM** = **3** --- Hints that an integer, float or string property is an enumerated value to pick in a list specified via a hint string such as ``"Hello,Something,Else"``.
 

+ 2 - 0
classes/class_animationplayer.rst

@@ -414,6 +414,8 @@ If the animation has been paused by ``stop(true)``, it will be resumed backwards
 
 Queues an animation for playback once the current one is done.
 
+**Note:** If a looped animation is currently playing, the queued animation will never play unless the looped animation is stopped somehow.
+
 .. _class_AnimationPlayer_method_remove_animation:
 
 - void **remove_animation** **(** :ref:`String<class_String>` name **)**

+ 65 - 11
classes/class_audioserver.rst

@@ -24,6 +24,8 @@ Properties
 +-----------------------------+------------------------------------------------------------------------+-----------+
 | :ref:`int<class_int>`       | :ref:`bus_count<class_AudioServer_property_bus_count>`                 | 1         |
 +-----------------------------+------------------------------------------------------------------------+-----------+
+| :ref:`String<class_String>` | :ref:`capture_device<class_AudioServer_property_capture_device>`       | ""        |
++-----------------------------+------------------------------------------------------------------------+-----------+
 | :ref:`String<class_String>` | :ref:`device<class_AudioServer_property_device>`                       | "Default" |
 +-----------------------------+------------------------------------------------------------------------+-----------+
 | :ref:`float<class_float>`   | :ref:`global_rate_scale<class_AudioServer_property_global_rate_scale>` | 1.0       |
@@ -37,11 +39,11 @@ Methods
 +-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                                  | :ref:`add_bus_effect<class_AudioServer_method_add_bus_effect>` **(** :ref:`int<class_int>` bus_idx, :ref:`AudioEffect<class_AudioEffect>` effect, :ref:`int<class_int>` at_position=-1 **)**  |
 +-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_String>`                           | :ref:`capture_get_device<class_AudioServer_method_capture_get_device>` **(** **)**                                                                                                            |
-+-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`Array<class_Array>`                             | :ref:`capture_get_device_list<class_AudioServer_method_capture_get_device_list>` **(** **)**                                                                                                  |
 +-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                                  | :ref:`capture_set_device<class_AudioServer_method_capture_set_device>` **(** :ref:`String<class_String>` name **)**                                                                           |
+| :ref:`Error<enum_@GlobalScope_Error>`                 | :ref:`capture_start<class_AudioServer_method_capture_start>` **(** **)**                                                                                                                      |
++-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Error<enum_@GlobalScope_Error>`                 | :ref:`capture_stop<class_AudioServer_method_capture_stop>` **(** **)**                                                                                                                        |
 +-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`AudioBusLayout<class_AudioBusLayout>`           | :ref:`generate_bus_layout<class_AudioServer_method_generate_bus_layout>` **(** **)** const                                                                                                    |
 +-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
@@ -65,6 +67,12 @@ Methods
 +-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`float<class_float>`                             | :ref:`get_bus_volume_db<class_AudioServer_method_get_bus_volume_db>` **(** :ref:`int<class_int>` bus_idx **)** const                                                                          |
 +-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`PoolIntArray<class_PoolIntArray>`               | :ref:`get_capture_buffer<class_AudioServer_method_get_capture_buffer>` **(** **)**                                                                                                            |
++-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                                 | :ref:`get_capture_position<class_AudioServer_method_get_capture_position>` **(** **)**                                                                                                        |
++-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                                 | :ref:`get_capture_size<class_AudioServer_method_get_capture_size>` **(** **)**                                                                                                                |
++-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`Array<class_Array>`                             | :ref:`get_device_list<class_AudioServer_method_get_device_list>` **(** **)**                                                                                                                  |
 +-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`float<class_float>`                             | :ref:`get_mix_rate<class_AudioServer_method_get_mix_rate>` **(** **)** const                                                                                                                  |
@@ -117,6 +125,14 @@ Methods
 Signals
 -------
 
+.. _class_AudioServer_signal_audio_mix_callback:
+
+- **audio_mix_callback** **(** **)**
+
+.. _class_AudioServer_signal_audio_update_callback:
+
+- **audio_update_callback** **(** **)**
+
 .. _class_AudioServer_signal_bus_layout_changed:
 
 - **bus_layout_changed** **(** **)**
@@ -173,6 +189,20 @@ Property Descriptions
 
 Number of available audio buses.
 
+.. _class_AudioServer_property_capture_device:
+
+- :ref:`String<class_String>` **capture_device**
+
++-----------+---------------------------+
+| *Default* | ""                        |
++-----------+---------------------------+
+| *Setter*  | capture_set_device(value) |
++-----------+---------------------------+
+| *Getter*  | capture_get_device()      |
++-----------+---------------------------+
+
+Name of the current device for audio input (see :ref:`capture_get_device_list<class_AudioServer_method_capture_get_device_list>`).
+
 .. _class_AudioServer_property_device:
 
 - :ref:`String<class_String>` **device**
@@ -185,7 +215,7 @@ Number of available audio buses.
 | *Getter*  | get_device()      |
 +-----------+-------------------+
 
-Name of the current device (see :ref:`get_device_list<class_AudioServer_method_get_device_list>`).
+Name of the current device for audio output (see :ref:`get_device_list<class_AudioServer_method_get_device_list>`).
 
 .. _class_AudioServer_property_global_rate_scale:
 
@@ -216,17 +246,23 @@ Adds a bus at ``at_position``.
 
 Adds an :ref:`AudioEffect<class_AudioEffect>` effect to the bus ``bus_idx`` at ``at_position``.
 
-.. _class_AudioServer_method_capture_get_device:
-
-- :ref:`String<class_String>` **capture_get_device** **(** **)**
-
 .. _class_AudioServer_method_capture_get_device_list:
 
 - :ref:`Array<class_Array>` **capture_get_device_list** **(** **)**
 
-.. _class_AudioServer_method_capture_set_device:
+Returns the names of all audio input devices detected on the system.
+
+.. _class_AudioServer_method_capture_start:
+
+- :ref:`Error<enum_@GlobalScope_Error>` **capture_start** **(** **)**
+
+Attempts to start recording from the audio driver's capture device. On success, the return value is :ref:`@GlobalScope.OK<class_@GlobalScope_constant_OK>`.
 
-- void **capture_set_device** **(** :ref:`String<class_String>` name **)**
+.. _class_AudioServer_method_capture_stop:
+
+- :ref:`Error<enum_@GlobalScope_Error>` **capture_stop** **(** **)**
+
+Attempts to stop recording from the audio driver's capture device. On success, the return value is :ref:`@GlobalScope.OK<class_@GlobalScope_constant_OK>`.
 
 .. _class_AudioServer_method_generate_bus_layout:
 
@@ -292,11 +328,29 @@ Returns the name of the bus that the bus at index ``bus_idx`` sends to.
 
 Returns the volume of the bus at index ``bus_idx`` in dB.
 
+.. _class_AudioServer_method_get_capture_buffer:
+
+- :ref:`PoolIntArray<class_PoolIntArray>` **get_capture_buffer** **(** **)**
+
+Returns an :ref:`PoolIntArray<class_PoolIntArray>` containing audio frames from the capture device.
+
+.. _class_AudioServer_method_get_capture_position:
+
+- :ref:`int<class_int>` **get_capture_position** **(** **)**
+
+Returns the write position of the capture device buffer.
+
+.. _class_AudioServer_method_get_capture_size:
+
+- :ref:`int<class_int>` **get_capture_size** **(** **)**
+
+Returns the size of the capture device buffer.
+
 .. _class_AudioServer_method_get_device_list:
 
 - :ref:`Array<class_Array>` **get_device_list** **(** **)**
 
-Returns the names of all audio devices detected on the system.
+Returns the names of all audio output devices detected on the system.
 
 .. _class_AudioServer_method_get_mix_rate:
 

+ 19 - 0
classes/class_basis.rst

@@ -74,6 +74,25 @@ Methods
 | :ref:`Vector3<class_Vector3>` | :ref:`xform_inv<class_Basis_method_xform_inv>` **(** :ref:`Vector3<class_Vector3>` v **)**                                                                          |
 +-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 
+Constants
+---------
+
+.. _class_Basis_constant_IDENTITY:
+
+.. _class_Basis_constant_FLIP_X:
+
+.. _class_Basis_constant_FLIP_Y:
+
+.. _class_Basis_constant_FLIP_Z:
+
+- **IDENTITY** = **Basis( 1, 0, 0, 0, 1, 0, 0, 0, 1 )**
+
+- **FLIP_X** = **Basis( -1, 0, 0, 0, 1, 0, 0, 0, 1 )**
+
+- **FLIP_Y** = **Basis( 1, 0, 0, 0, -1, 0, 0, 0, 1 )**
+
+- **FLIP_Z** = **Basis( 1, 0, 0, 0, 1, 0, 0, 0, -1 )**
+
 Description
 -----------
 

+ 8 - 4
classes/class_camera2d.rst

@@ -30,7 +30,7 @@ Properties
 +---------------------------------------------------------------+---------------------------------------------------------------------------------+-----------------+
 | :ref:`float<class_float>`                                     | :ref:`drag_margin_bottom<class_Camera2D_property_drag_margin_bottom>`           | 0.2             |
 +---------------------------------------------------------------+---------------------------------------------------------------------------------+-----------------+
-| :ref:`bool<class_bool>`                                       | :ref:`drag_margin_h_enabled<class_Camera2D_property_drag_margin_h_enabled>`     | true            |
+| :ref:`bool<class_bool>`                                       | :ref:`drag_margin_h_enabled<class_Camera2D_property_drag_margin_h_enabled>`     | false           |
 +---------------------------------------------------------------+---------------------------------------------------------------------------------+-----------------+
 | :ref:`float<class_float>`                                     | :ref:`drag_margin_left<class_Camera2D_property_drag_margin_left>`               | 0.2             |
 +---------------------------------------------------------------+---------------------------------------------------------------------------------+-----------------+
@@ -38,7 +38,7 @@ Properties
 +---------------------------------------------------------------+---------------------------------------------------------------------------------+-----------------+
 | :ref:`float<class_float>`                                     | :ref:`drag_margin_top<class_Camera2D_property_drag_margin_top>`                 | 0.2             |
 +---------------------------------------------------------------+---------------------------------------------------------------------------------+-----------------+
-| :ref:`bool<class_bool>`                                       | :ref:`drag_margin_v_enabled<class_Camera2D_property_drag_margin_v_enabled>`     | true            |
+| :ref:`bool<class_bool>`                                       | :ref:`drag_margin_v_enabled<class_Camera2D_property_drag_margin_v_enabled>`     | false           |
 +---------------------------------------------------------------+---------------------------------------------------------------------------------+-----------------+
 | :ref:`bool<class_bool>`                                       | :ref:`editor_draw_drag_margin<class_Camera2D_property_editor_draw_drag_margin>` | false           |
 +---------------------------------------------------------------+---------------------------------------------------------------------------------+-----------------+
@@ -194,7 +194,7 @@ Bottom margin needed to drag the camera. A value of ``1`` makes the camera move
 - :ref:`bool<class_bool>` **drag_margin_h_enabled**
 
 +-----------+---------------------------+
-| *Default* | true                      |
+| *Default* | false                     |
 +-----------+---------------------------+
 | *Setter*  | set_h_drag_enabled(value) |
 +-----------+---------------------------+
@@ -250,7 +250,7 @@ Top margin needed to drag the camera. A value of ``1`` makes the camera move onl
 - :ref:`bool<class_bool>` **drag_margin_v_enabled**
 
 +-----------+---------------------------+
-| *Default* | true                      |
+| *Default* | false                     |
 +-----------+---------------------------+
 | *Setter*  | set_v_drag_enabled(value) |
 +-----------+---------------------------+
@@ -399,6 +399,8 @@ The camera's offset, useful for looking around or camera shake animations.
 
 The horizontal offset of the camera, relative to the drag margins.
 
+**Note:** Offset H is used only to force offset relative to margins. It's not updated in any way if drag margins are enabled and can be used to set inital offset.
+
 .. _class_Camera2D_property_offset_v:
 
 - :ref:`float<class_float>` **offset_v**
@@ -413,6 +415,8 @@ The horizontal offset of the camera, relative to the drag margins.
 
 The vertical offset of the camera, relative to the drag margins.
 
+**Note:** Used the same as :ref:`offset_h<class_Camera2D_property_offset_h>`.
+
 .. _class_Camera2D_property_process_mode:
 
 - :ref:`Camera2DProcessMode<enum_Camera2D_Camera2DProcessMode>` **process_mode**

+ 2 - 2
classes/class_classdb.rst

@@ -141,7 +141,7 @@ Returns whether ``class`` or its ancestry has an integer constant called ``name`
 
 - :ref:`bool<class_bool>` **class_has_method** **(** :ref:`String<class_String>` class, :ref:`String<class_String>` method, :ref:`bool<class_bool>` no_inheritance=false **)** const
 
-Returns whether ``class`` (or its ancestry if ``no_inheritance`` is false) has a method called ``method`` or not.
+Returns whether ``class`` (or its ancestry if ``no_inheritance`` is ``false``) has a method called ``method`` or not.
 
 .. _class_ClassDB_method_class_has_signal:
 
@@ -183,7 +183,7 @@ Creates an instance of ``class``.
 
 - :ref:`bool<class_bool>` **is_class_enabled** **(** :ref:`String<class_String>` class **)** const
 
-Returns whether this class is enabled or not.
+Returns whether this ``class`` is enabled or not.
 
 .. _class_ClassDB_method_is_parent_class:
 

+ 172 - 29
classes/class_control.rst

@@ -18,7 +18,7 @@ Control
 Brief Description
 -----------------
 
-All User Interface nodes inherit from Control. A control's anchors and margins adapt its position and size relative to its parent.
+All user interface nodes inherit from Control. A control's anchors and margins adapt its position and size relative to its parent.
 
 Properties
 ----------
@@ -460,13 +460,13 @@ enum **LayoutPreset**:
 
 enum **LayoutPresetMode**:
 
-- **PRESET_MODE_MINSIZE** = **0**
+- **PRESET_MODE_MINSIZE** = **0** --- The control will be resized to its minimum size.
 
-- **PRESET_MODE_KEEP_WIDTH** = **1**
+- **PRESET_MODE_KEEP_WIDTH** = **1** --- The control's width will not change.
 
-- **PRESET_MODE_KEEP_HEIGHT** = **2**
+- **PRESET_MODE_KEEP_HEIGHT** = **2** --- The control's height will not change.
 
-- **PRESET_MODE_KEEP_SIZE** = **3**
+- **PRESET_MODE_KEEP_SIZE** = **3** --- The control's size will not change.
 
 .. _enum_Control_SizeFlags:
 
@@ -612,7 +612,7 @@ Property Descriptions
 | *Getter*  | get_anchor() |
 +-----------+--------------+
 
-Anchors the bottom edge of the node to the origin, the center, or the end of its parent control. It changes how the bottom margin updates when the node moves or changes size. You can use one of the ``ANCHOR_*`` constants for convenience.
+Anchors the bottom edge of the node to the origin, the center, or the end of its parent control. It changes how the bottom margin updates when the node moves or changes size. You can use one of the :ref:`Anchor<enum_Control_Anchor>` constants for convenience.
 
 .. _class_Control_property_anchor_left:
 
@@ -624,7 +624,7 @@ Anchors the bottom edge of the node to the origin, the center, or the end of its
 | *Getter*  | get_anchor() |
 +-----------+--------------+
 
-Anchors the left edge of the node to the origin, the center or the end of its parent control. It changes how the left margin updates when the node moves or changes size. You can use one of the ``ANCHOR_*`` constants for convenience.
+Anchors the left edge of the node to the origin, the center or the end of its parent control. It changes how the left margin updates when the node moves or changes size. You can use one of the :ref:`Anchor<enum_Control_Anchor>` constants for convenience.
 
 .. _class_Control_property_anchor_right:
 
@@ -636,7 +636,7 @@ Anchors the left edge of the node to the origin, the center or the end of its pa
 | *Getter*  | get_anchor() |
 +-----------+--------------+
 
-Anchors the right edge of the node to the origin, the center or the end of its parent control. It changes how the right margin updates when the node moves or changes size. You can use one of the ``ANCHOR_*`` constants for convenience.
+Anchors the right edge of the node to the origin, the center or the end of its parent control. It changes how the right margin updates when the node moves or changes size. You can use one of the :ref:`Anchor<enum_Control_Anchor>` constants for convenience.
 
 .. _class_Control_property_anchor_top:
 
@@ -648,7 +648,7 @@ Anchors the right edge of the node to the origin, the center or the end of its p
 | *Getter*  | get_anchor() |
 +-----------+--------------+
 
-Anchors the top edge of the node to the origin, the center or the end of its parent control. It changes how the top margin updates when the node moves or changes size. You can use  one of the ``ANCHOR_*`` constants for convenience.
+Anchors the top edge of the node to the origin, the center or the end of its parent control. It changes how the top margin updates when the node moves or changes size. You can use  one of the :ref:`Anchor<enum_Control_Anchor>` constants for convenience.
 
 .. _class_Control_property_focus_mode:
 
@@ -790,7 +790,7 @@ Controls the direction on the vertical axis in which the control should grow if
 | *Setter*  | set_tooltip(value) |
 +-----------+--------------------+
 
-Changes the tooltip text. The tooltip appears when the user's mouse cursor stays idle over this control for a few moments, provided that the :ref:`mouse_filter<class_Control_property_mouse_filter>` property is not :ref:`MOUSE_FILTER_IGNORE<class_Control_constant_MOUSE_FILTER_IGNORE>`.
+Changes the tooltip text. The tooltip appears when the user's mouse cursor stays idle over this control for a few moments, provided that the :ref:`mouse_filter<class_Control_property_mouse_filter>` property is not :ref:`MOUSE_FILTER_IGNORE<class_Control_constant_MOUSE_FILTER_IGNORE>`. You can change the time required for the tooltip to appear with ``gui/timers/tooltip_delay_sec`` option in Project Settings.
 
 .. _class_Control_property_margin_bottom:
 
@@ -1002,7 +1002,7 @@ The size of the node's bounding rectangle, in pixels. :ref:`Container<class_Cont
 | *Getter*  | get_h_size_flags()      |
 +-----------+-------------------------+
 
-Tells the parent :ref:`Container<class_Container>` nodes how they should resize and place the node on the X axis. Use one of the ``SIZE_*`` constants to change the flags. See the constants to learn what each does.
+Tells the parent :ref:`Container<class_Container>` nodes how they should resize and place the node on the X axis. Use one of the :ref:`SizeFlags<enum_Control_SizeFlags>` constants to change the flags. See the constants to learn what each does.
 
 .. _class_Control_property_size_flags_stretch_ratio:
 
@@ -1030,7 +1030,7 @@ If the node and at least one of its neighbours uses the :ref:`SIZE_EXPAND<class_
 | *Getter*  | get_v_size_flags()      |
 +-----------+-------------------------+
 
-Tells the parent :ref:`Container<class_Container>` nodes how they should resize and place the node on the Y axis. Use one of the ``SIZE_*`` constants to change the flags. See the constants to learn what each does.
+Tells the parent :ref:`Container<class_Container>` nodes how they should resize and place the node on the Y axis. Use one of the :ref:`SizeFlags<enum_Control_SizeFlags>` constants to change the flags. See the constants to learn what each does.
 
 .. _class_Control_property_theme:
 
@@ -1051,24 +1051,73 @@ Method Descriptions
 
 - :ref:`bool<class_bool>` **_clips_input** **(** **)** virtual
 
+Virtual method to be implemented by the user. Returns whether :ref:`_gui_input<class_Control_method__gui_input>` should not be called for children controls outside this control's rectangle. Input will be clipped to the Rect of this ``Control``. Similar to :ref:`rect_clip_content<class_Control_property_rect_clip_content>`, but doesn't affect visibility.
+
+If not overriden, defaults to ``false``.
+
 .. _class_Control_method__get_minimum_size:
 
 - :ref:`Vector2<class_Vector2>` **_get_minimum_size** **(** **)** virtual
 
-Returns the minimum size for this control. See :ref:`rect_min_size<class_Control_property_rect_min_size>`.
+Virtual method to be implemented by the user. Returns the minimum size for this control. Alternative to :ref:`rect_min_size<class_Control_property_rect_min_size>` for controlling minimum size via code. The actual minimum size will be the max value of these two (in each axis separately).
+
+If not overriden, defaults to :ref:`Vector2.ZERO<class_Vector2_constant_ZERO>`.
 
 .. _class_Control_method__gui_input:
 
 - void **_gui_input** **(** :ref:`InputEvent<class_InputEvent>` event **)** virtual
 
-Use this method to process and accept inputs on UI elements. See :ref:`accept_event<class_Control_method_accept_event>`.
+Virtual method to be implemented by the user. Use this method to process and accept inputs on UI elements. See :ref:`accept_event<class_Control_method_accept_event>`.
+
+Example: clicking a control.
+
+::
+
+    func _gui_input(event):
+        if event is InputEventMouseButton:
+            if event.button_index == BUTTON_LEFT and event.pressed:
+                print("I've been clicked D:")
+
+The event won't trigger if:
+
+\* clicking outside the control (see :ref:`has_point<class_Control_method_has_point>`);
+
+\* control has :ref:`mouse_filter<class_Control_property_mouse_filter>` set to :ref:`MOUSE_FILTER_IGNORE<class_Control_constant_MOUSE_FILTER_IGNORE>`;
 
-Replaces Godot 2's ``_input_event``.
+\* control is obstructed by another ``Control`` on top of it, which doesn't have :ref:`mouse_filter<class_Control_property_mouse_filter>` set to :ref:`MOUSE_FILTER_IGNORE<class_Control_constant_MOUSE_FILTER_IGNORE>`;
+
+\* control's parent has :ref:`mouse_filter<class_Control_property_mouse_filter>` set to :ref:`MOUSE_FILTER_STOP<class_Control_constant_MOUSE_FILTER_STOP>` or has accepted the event;
+
+\* it happens outside parent's rectangle and the parent has either :ref:`rect_clip_content<class_Control_property_rect_clip_content>` or :ref:`_clips_input<class_Control_method__clips_input>` enabled.
 
 .. _class_Control_method__make_custom_tooltip:
 
 - :ref:`Object<class_Object>` **_make_custom_tooltip** **(** :ref:`String<class_String>` for_text **)** virtual
 
+Virtual method to be implemented by the user. Returns a ``Control`` node that should be used as a tooltip instead of the default one. Use ``for_text`` parameter to determine what text the tooltip should contain (likely the contents of :ref:`hint_tooltip<class_Control_property_hint_tooltip>`).
+
+The returned node must be of type ``Control`` or Control-derieved. It can have child nodes of any type. It is freed when the tooltip disappears, so make sure you always provide a new instance, not e.g. a node from scene. When null or non-Control node is returned, the default tooltip will be used instead.
+
+**Note:** The tooltip is shrunk to minimal size. If you want to ensure it's fully visible, you might want to set its :ref:`rect_min_size<class_Control_property_rect_min_size>` to some non-zero value.
+
+Example of usage with custom-constructed node:
+
+::
+
+    func _make_custom_tooltip(for_text):
+        var label = Label.new()
+        label.text = for_text
+        return label
+
+Example of usage with custom scene instance:
+
+::
+
+    func _make_custom_tooltip(for_text):
+        var tooltip = preload("SomeTooltipScene.tscn").instance()
+        tooltip.get_node("Label").text = for_text
+        return tooltip
+
 .. _class_Control_method_accept_event:
 
 - void **accept_event** **(** **)**
@@ -1079,37 +1128,37 @@ Marks an input event as handled. Once you accept an input event, it stops propag
 
 - void **add_color_override** **(** :ref:`String<class_String>` name, :ref:`Color<class_Color>` color **)**
 
-Overrides the color in the :ref:`theme<class_Control_property_theme>` resource the node uses.
+Overrides the :ref:`Color<class_Color>` with given ``name`` in the :ref:`theme<class_Control_property_theme>` resource the control uses. If the ``color`` is empty or invalid, the override is cleared and the color from assigned :ref:`Theme<class_Theme>` is used.
 
 .. _class_Control_method_add_constant_override:
 
 - void **add_constant_override** **(** :ref:`String<class_String>` name, :ref:`int<class_int>` constant **)**
 
-Overrides an integer constant in the :ref:`theme<class_Control_property_theme>` resource the node uses. If the ``constant`` is invalid, Godot clears the override.
+Overrides an integer constant with given ``name`` in the :ref:`theme<class_Control_property_theme>` resource the control uses. If the ``constant`` is empty or invalid, the override is cleared and the constant from assigned :ref:`Theme<class_Theme>` is used.
 
 .. _class_Control_method_add_font_override:
 
 - void **add_font_override** **(** :ref:`String<class_String>` name, :ref:`Font<class_Font>` font **)**
 
-Overrides the ``name`` font in the :ref:`theme<class_Control_property_theme>` resource the node uses. If ``font`` is empty, Godot clears the override.
+Overrides the font with given ``name`` in the :ref:`theme<class_Control_property_theme>` resource the control uses. If ``font`` is empty or invalid, the override is cleared and the font from assigned :ref:`Theme<class_Theme>` is used.
 
 .. _class_Control_method_add_icon_override:
 
 - void **add_icon_override** **(** :ref:`String<class_String>` name, :ref:`Texture<class_Texture>` texture **)**
 
-Overrides the ``name`` icon in the :ref:`theme<class_Control_property_theme>` resource the node uses. If ``icon`` is empty, Godot clears the override.
+Overrides the icon with given ``name`` in the :ref:`theme<class_Control_property_theme>` resource the control uses. If ``icon`` is empty or invalid, the override is cleared and the icon from assigned :ref:`Theme<class_Theme>` is used.
 
 .. _class_Control_method_add_shader_override:
 
 - void **add_shader_override** **(** :ref:`String<class_String>` name, :ref:`Shader<class_Shader>` shader **)**
 
-Overrides the ``name`` shader in the :ref:`theme<class_Control_property_theme>` resource the node uses. If ``shader`` is empty, Godot clears the override.
+Overrides the :ref:`Shader<class_Shader>` with given ``name`` in the :ref:`theme<class_Control_property_theme>` resource the control uses. If ``shader`` is empty or invalid, the override is cleared and the shader from assigned :ref:`Theme<class_Theme>` is used.
 
 .. _class_Control_method_add_stylebox_override:
 
 - void **add_stylebox_override** **(** :ref:`String<class_String>` name, :ref:`StyleBox<class_StyleBox>` stylebox **)**
 
-Overrides the ``name`` :ref:`StyleBox<class_StyleBox>` in the :ref:`theme<class_Control_property_theme>` resource the node uses. If ``stylebox`` is empty, Godot clears the override.
+Overrides the :ref:`StyleBox<class_StyleBox>` with given ``name`` in the :ref:`theme<class_Control_property_theme>` resource the control uses. If ``stylebox`` is empty or invalid, the override is cleared and the :ref:`StyleBox<class_StyleBox>` from assigned :ref:`Theme<class_Theme>` is used.
 
 .. _class_Control_method_can_drop_data:
 
@@ -1121,8 +1170,6 @@ This method should only be used to test the data. Process the data in :ref:`drop
 
 ::
 
-    extends Control
-    
     func can_drop_data(position, data):
         # Check position if it is relevant to you
         # Otherwise, just check data
@@ -1136,8 +1183,6 @@ Godot calls this method to pass you the ``data`` from a control's :ref:`get_drag
 
 ::
 
-    extends ColorRect
-    
     func can_drop_data(position, data):
         return typeof(data) == TYPE_DICTIONARY and data.has("color")
     
@@ -1156,6 +1201,8 @@ The methods :ref:`can_drop_data<class_Control_method_can_drop_data>` and :ref:`d
 
 - :ref:`float<class_float>` **get_anchor** **(** :ref:`Margin<enum_@GlobalScope_Margin>` margin **)** const
 
+Returns the anchor identified by ``margin`` constant from :ref:`Margin<enum_@GlobalScope_Margin>` enum. A getter method for :ref:`anchor_bottom<class_Control_property_anchor_bottom>`, :ref:`anchor_left<class_Control_property_anchor_left>`, :ref:`anchor_right<class_Control_property_anchor_right>` and :ref:`anchor_top<class_Control_property_anchor_top>`.
+
 .. _class_Control_method_get_begin:
 
 - :ref:`Vector2<class_Vector2>` **get_begin** **(** **)** const
@@ -1166,14 +1213,25 @@ Returns :ref:`margin_left<class_Control_property_margin_left>` and :ref:`margin_
 
 - :ref:`Color<class_Color>` **get_color** **(** :ref:`String<class_String>` name, :ref:`String<class_String>` type="" **)** const
 
+Returns a color from assigned :ref:`Theme<class_Theme>` with given ``name`` and associated with ``Control`` of given ``type``.
+
+::
+
+    func _ready():
+        modulate = get_color("font_color", "Button") #get the color defined for button fonts
+
 .. _class_Control_method_get_combined_minimum_size:
 
 - :ref:`Vector2<class_Vector2>` **get_combined_minimum_size** **(** **)** const
 
+Returns combined minimum size from :ref:`rect_min_size<class_Control_property_rect_min_size>` and :ref:`get_minimum_size<class_Control_method_get_minimum_size>`.
+
 .. _class_Control_method_get_constant:
 
 - :ref:`int<class_int>` **get_constant** **(** :ref:`String<class_String>` name, :ref:`String<class_String>` type="" **)** const
 
+Returns a constant from assigned :ref:`Theme<class_Theme>` with given ``name`` and associated with ``Control`` of given ``type``.
+
 .. _class_Control_method_get_cursor_shape:
 
 - :ref:`CursorShape<enum_Control_CursorShape>` **get_cursor_shape** **(** :ref:`Vector2<class_Vector2>` position=Vector2( 0, 0 ) **)** const
@@ -1190,8 +1248,6 @@ A preview that will follow the mouse that should represent the data can be set w
 
 ::
 
-    extends Control
-    
     func get_drag_data(position):
         var mydata = make_data()
         set_drag_preview(make_preview(mydata))
@@ -1207,6 +1263,8 @@ Returns :ref:`margin_right<class_Control_property_margin_right>` and :ref:`margi
 
 - :ref:`NodePath<class_NodePath>` **get_focus_neighbour** **(** :ref:`Margin<enum_@GlobalScope_Margin>` margin **)** const
 
+Returns the focus neighbour identified by ``margin`` constant from :ref:`Margin<enum_@GlobalScope_Margin>` enum. A getter method for :ref:`focus_neighbour_bottom<class_Control_property_focus_neighbour_bottom>`, :ref:`focus_neighbour_left<class_Control_property_focus_neighbour_left>`, :ref:`focus_neighbour_right<class_Control_property_focus_neighbour_right>` and :ref:`focus_neighbour_top<class_Control_property_focus_neighbour_top>`.
+
 .. _class_Control_method_get_focus_owner:
 
 - :ref:`Control<class_Control>` **get_focus_owner** **(** **)** const
@@ -1217,6 +1275,8 @@ Returns the control that has the keyboard focus or ``null`` if none.
 
 - :ref:`Font<class_Font>` **get_font** **(** :ref:`String<class_String>` name, :ref:`String<class_String>` type="" **)** const
 
+Returns a font from assigned :ref:`Theme<class_Theme>` with given ``name`` and associated with ``Control`` of given ``type``.
+
 .. _class_Control_method_get_global_rect:
 
 - :ref:`Rect2<class_Rect2>` **get_global_rect** **(** **)** const
@@ -1227,10 +1287,14 @@ Returns the position and size of the control relative to the top-left corner of
 
 - :ref:`Texture<class_Texture>` **get_icon** **(** :ref:`String<class_String>` name, :ref:`String<class_String>` type="" **)** const
 
+Returns an icon from assigned :ref:`Theme<class_Theme>` with given ``name`` and associated with ``Control`` of given ``type``.
+
 .. _class_Control_method_get_margin:
 
 - :ref:`float<class_float>` **get_margin** **(** :ref:`Margin<enum_@GlobalScope_Margin>` margin **)** const
 
+Returns the anchor identified by ``margin`` constant from :ref:`Margin<enum_@GlobalScope_Margin>` enum. A getter method for :ref:`margin_bottom<class_Control_property_margin_bottom>`, :ref:`margin_left<class_Control_property_margin_left>`, :ref:`margin_right<class_Control_property_margin_right>` and :ref:`margin_top<class_Control_property_margin_top>`.
+
 .. _class_Control_method_get_minimum_size:
 
 - :ref:`Vector2<class_Vector2>` **get_minimum_size** **(** **)** const
@@ -1265,16 +1329,25 @@ Returns the rotation (in radians).
 
 - :ref:`StyleBox<class_StyleBox>` **get_stylebox** **(** :ref:`String<class_String>` name, :ref:`String<class_String>` type="" **)** const
 
+Returns a :ref:`StyleBox<class_StyleBox>` from assigned :ref:`Theme<class_Theme>` with given ``name`` and associated with ``Control`` of given ``type``.
+
 .. _class_Control_method_get_tooltip:
 
 - :ref:`String<class_String>` **get_tooltip** **(** :ref:`Vector2<class_Vector2>` at_position=Vector2( 0, 0 ) **)** const
 
-Returns the tooltip, which will appear when the cursor is resting over this control.
+Returns the tooltip, which will appear when the cursor is resting over this control. See :ref:`hint_tooltip<class_Control_property_hint_tooltip>`.
 
 .. _class_Control_method_grab_click_focus:
 
 - void **grab_click_focus** **(** **)**
 
+Creates an :ref:`InputEventMouseButton<class_InputEventMouseButton>` that attempts to click the control. If the event is received, the control aquires focus.
+
+::
+
+    func _process(delta):
+        grab_click_focus() #when clicking another Control node, this node will be clicked instead
+
 .. _class_Control_method_grab_focus:
 
 - void **grab_focus** **(** **)**
@@ -1285,18 +1358,26 @@ Steal the focus from another control and become the focused control (see :ref:`f
 
 - :ref:`bool<class_bool>` **has_color** **(** :ref:`String<class_String>` name, :ref:`String<class_String>` type="" **)** const
 
+Returns ``true`` if :ref:`Color<class_Color>` with given ``name`` and associated with ``Control`` of given ``type`` exists in assigned :ref:`Theme<class_Theme>`.
+
 .. _class_Control_method_has_color_override:
 
 - :ref:`bool<class_bool>` **has_color_override** **(** :ref:`String<class_String>` name **)** const
 
+Returns ``true`` if :ref:`Color<class_Color>` with given ``name`` has a valid override in this ``Control`` node.
+
 .. _class_Control_method_has_constant:
 
 - :ref:`bool<class_bool>` **has_constant** **(** :ref:`String<class_String>` name, :ref:`String<class_String>` type="" **)** const
 
+Returns ``true`` if constant with given ``name`` and associated with ``Control`` of given ``type`` exists in assigned :ref:`Theme<class_Theme>`.
+
 .. _class_Control_method_has_constant_override:
 
 - :ref:`bool<class_bool>` **has_constant_override** **(** :ref:`String<class_String>` name **)** const
 
+Returns ``true`` if constant with given ``name`` has a valid override in this ``Control`` node.
+
 .. _class_Control_method_has_focus:
 
 - :ref:`bool<class_bool>` **has_focus** **(** **)** const
@@ -1307,38 +1388,60 @@ Returns ``true`` if this is the current focused control. See :ref:`focus_mode<cl
 
 - :ref:`bool<class_bool>` **has_font** **(** :ref:`String<class_String>` name, :ref:`String<class_String>` type="" **)** const
 
+Returns ``true`` if font with given ``name`` and associated with ``Control`` of given ``type`` exists in assigned :ref:`Theme<class_Theme>`.
+
 .. _class_Control_method_has_font_override:
 
 - :ref:`bool<class_bool>` **has_font_override** **(** :ref:`String<class_String>` name **)** const
 
+Returns ``true`` if font with given ``name`` has a valid override in this ``Control`` node.
+
 .. _class_Control_method_has_icon:
 
 - :ref:`bool<class_bool>` **has_icon** **(** :ref:`String<class_String>` name, :ref:`String<class_String>` type="" **)** const
 
+Returns ``true`` if icon with given ``name`` and associated with ``Control`` of given ``type`` exists in assigned :ref:`Theme<class_Theme>`.
+
 .. _class_Control_method_has_icon_override:
 
 - :ref:`bool<class_bool>` **has_icon_override** **(** :ref:`String<class_String>` name **)** const
 
+Returns ``true`` if icon with given ``name`` has a valid override in this ``Control`` node.
+
 .. _class_Control_method_has_point:
 
 - :ref:`bool<class_bool>` **has_point** **(** :ref:`Vector2<class_Vector2>` point **)** virtual
 
+Virtual method to be implemented by the user. Returns whether the given ``point`` is inside this control.
+
+If not overriden, default behavior is checking if the point is within control's Rect.
+
+**Node:** If you want to check if a point is inside the control, you can use ``get_rect().has_point(point)``.
+
 .. _class_Control_method_has_shader_override:
 
 - :ref:`bool<class_bool>` **has_shader_override** **(** :ref:`String<class_String>` name **)** const
 
+Returns ``true`` if :ref:`Shader<class_Shader>` with given ``name`` has a valid override in this ``Control`` node.
+
 .. _class_Control_method_has_stylebox:
 
 - :ref:`bool<class_bool>` **has_stylebox** **(** :ref:`String<class_String>` name, :ref:`String<class_String>` type="" **)** const
 
+Returns ``true`` if :ref:`StyleBox<class_StyleBox>` with given ``name`` and associated with ``Control`` of given ``type`` exists in assigned :ref:`Theme<class_Theme>`.
+
 .. _class_Control_method_has_stylebox_override:
 
 - :ref:`bool<class_bool>` **has_stylebox_override** **(** :ref:`String<class_String>` name **)** const
 
+Returns ``true`` if :ref:`StyleBox<class_StyleBox>` with given ``name`` has a valid override in this ``Control`` node.
+
 .. _class_Control_method_minimum_size_changed:
 
 - void **minimum_size_changed** **(** **)**
 
+Invalidates the size cache in this node and in parent nodes up to toplevel. Intended to be used with :ref:`get_minimum_size<class_Control_method_get_minimum_size>` when the return value is changed. Setting :ref:`rect_min_size<class_Control_property_rect_min_size>` directly calls this method automatically.
+
 .. _class_Control_method_release_focus:
 
 - void **release_focus** **(** **)**
@@ -1349,23 +1452,37 @@ Give up the focus. No other control will be able to receive keyboard input.
 
 - void **set_anchor** **(** :ref:`Margin<enum_@GlobalScope_Margin>` margin, :ref:`float<class_float>` anchor, :ref:`bool<class_bool>` keep_margin=false, :ref:`bool<class_bool>` push_opposite_anchor=true **)**
 
+Sets the anchor identified by ``margin`` constant from :ref:`Margin<enum_@GlobalScope_Margin>` enum to value ``anchor``. A setter method for :ref:`anchor_bottom<class_Control_property_anchor_bottom>`, :ref:`anchor_left<class_Control_property_anchor_left>`, :ref:`anchor_right<class_Control_property_anchor_right>` and :ref:`anchor_top<class_Control_property_anchor_top>`.
+
+If ``keep_margin`` is ``true``, margins aren't updated after this operation.
+
+If ``push_opposite_anchor`` is ``true`` and the opposite anchor overlaps this anchor, the opposite one will have its value overriden. For example, when setting left anchor to 1 and the right anchor has value of 0.5, the right anchor will also get value of 1. If ``push_opposite_anchor`` was ``false``, the left anchor would get value 0.5.
+
 .. _class_Control_method_set_anchor_and_margin:
 
 - void **set_anchor_and_margin** **(** :ref:`Margin<enum_@GlobalScope_Margin>` margin, :ref:`float<class_float>` anchor, :ref:`float<class_float>` offset, :ref:`bool<class_bool>` push_opposite_anchor=false **)**
 
+Works the same as :ref:`set_anchor<class_Control_method_set_anchor>`, but instead of ``keep_margin`` argument and automatic update of margin, it allows to set the margin offset yourself (see :ref:`set_margin<class_Control_method_set_margin>`).
+
 .. _class_Control_method_set_anchors_and_margins_preset:
 
 - void **set_anchors_and_margins_preset** **(** :ref:`LayoutPreset<enum_Control_LayoutPreset>` preset, :ref:`LayoutPresetMode<enum_Control_LayoutPresetMode>` resize_mode=0, :ref:`int<class_int>` margin=0 **)**
 
+Sets both anchor preset and margin preset. See :ref:`set_anchors_preset<class_Control_method_set_anchors_preset>` and :ref:`set_margins_preset<class_Control_method_set_margins_preset>`.
+
 .. _class_Control_method_set_anchors_preset:
 
 - void **set_anchors_preset** **(** :ref:`LayoutPreset<enum_Control_LayoutPreset>` preset, :ref:`bool<class_bool>` keep_margins=false **)**
 
+Sets the anchors to a ``preset`` from :ref:`LayoutPreset<enum_Control_LayoutPreset>` enum. This is code equivalent of using the Layout menu in 2D editor.
+
+If ``keep_margins`` is ``true``, control's position will also be updated.
+
 .. _class_Control_method_set_begin:
 
 - void **set_begin** **(** :ref:`Vector2<class_Vector2>` position **)**
 
-Sets :ref:`margin_left<class_Control_property_margin_left>` and :ref:`margin_top<class_Control_property_margin_top>` at the same time.
+Sets :ref:`margin_left<class_Control_property_margin_left>` and :ref:`margin_top<class_Control_property_margin_top>` at the same time. Equivalent of changing :ref:`rect_position<class_Control_property_rect_position>`.
 
 .. _class_Control_method_set_drag_forwarding:
 
@@ -1414,22 +1531,40 @@ Sets :ref:`margin_right<class_Control_property_margin_right>` and :ref:`margin_b
 
 - void **set_focus_neighbour** **(** :ref:`Margin<enum_@GlobalScope_Margin>` margin, :ref:`NodePath<class_NodePath>` neighbour **)**
 
+Sets the anchor identified by ``margin`` constant from :ref:`Margin<enum_@GlobalScope_Margin>` enum to ``Control`` at ``neighbor`` node path. A setter method for :ref:`focus_neighbour_bottom<class_Control_property_focus_neighbour_bottom>`, :ref:`focus_neighbour_left<class_Control_property_focus_neighbour_left>`, :ref:`focus_neighbour_right<class_Control_property_focus_neighbour_right>` and :ref:`focus_neighbour_top<class_Control_property_focus_neighbour_top>`.
+
 .. _class_Control_method_set_global_position:
 
 - void **set_global_position** **(** :ref:`Vector2<class_Vector2>` position, :ref:`bool<class_bool>` keep_margins=false **)**
 
+Sets the :ref:`rect_global_position<class_Control_property_rect_global_position>` to given ``position``.
+
+If ``keep_margins`` is ``true``, control's anchors will be updated instead of margins.
+
 .. _class_Control_method_set_margin:
 
 - void **set_margin** **(** :ref:`Margin<enum_@GlobalScope_Margin>` margin, :ref:`float<class_float>` offset **)**
 
+Sets the margin identified by ``margin`` constant from :ref:`Margin<enum_@GlobalScope_Margin>` enum to given ``offset``. A setter method for :ref:`margin_bottom<class_Control_property_margin_bottom>`, :ref:`margin_left<class_Control_property_margin_left>`, :ref:`margin_right<class_Control_property_margin_right>` and :ref:`margin_top<class_Control_property_margin_top>`.
+
 .. _class_Control_method_set_margins_preset:
 
 - void **set_margins_preset** **(** :ref:`LayoutPreset<enum_Control_LayoutPreset>` preset, :ref:`LayoutPresetMode<enum_Control_LayoutPresetMode>` resize_mode=0, :ref:`int<class_int>` margin=0 **)**
 
+Sets the margins to a ``preset`` from :ref:`LayoutPreset<enum_Control_LayoutPreset>` enum. This is code equivalent of using the Layout menu in 2D editor.
+
+Use parameter ``resize_mode`` with constants from :ref:`LayoutPresetMode<enum_Control_LayoutPresetMode>` to better determine the resulting size of the ``Control``. Constant size will be ignored if used with presets that change size, e.g. ``PRESET_LEFT_WIDE``.
+
+Use parameter ``margin`` to determine the gap between the ``Control`` and the edges.
+
 .. _class_Control_method_set_position:
 
 - void **set_position** **(** :ref:`Vector2<class_Vector2>` position, :ref:`bool<class_bool>` keep_margins=false **)**
 
+Sets the :ref:`rect_position<class_Control_property_rect_position>` to given ``position``.
+
+If ``keep_margins`` is ``true``, control's anchors will be updated instead of margins.
+
 .. _class_Control_method_set_rotation:
 
 - void **set_rotation** **(** :ref:`float<class_float>` radians **)**
@@ -1440,13 +1575,21 @@ Sets the rotation (in radians).
 
 - void **set_size** **(** :ref:`Vector2<class_Vector2>` size, :ref:`bool<class_bool>` keep_margins=false **)**
 
+Sets the size (see :ref:`rect_size<class_Control_property_rect_size>`).
+
+If ``keep_margins`` is ``true``, control's anchors will be updated instead of margins.
+
 .. _class_Control_method_show_modal:
 
 - void **show_modal** **(** :ref:`bool<class_bool>` exclusive=false **)**
 
 Displays a control as modal. Control must be a subwindow. Modal controls capture the input signals until closed or the area outside them is accessed. When a modal control loses focus, or the ESC key is pressed, they automatically hide. Modal controls are used extensively for popup dialogs and menus.
 
+If ``exclusive`` is ``true``, other controls will not receive input and clicking outside this control will not close it.
+
 .. _class_Control_method_warp_mouse:
 
 - void **warp_mouse** **(** :ref:`Vector2<class_Vector2>` to_position **)**
 
+Moves the mouse cursor to ``to_position``, relative to :ref:`rect_position<class_Control_property_rect_position>` of this ``Control``.
+

+ 46 - 0
classes/class_crypto.rst

@@ -0,0 +1,46 @@
+:github_url: hide
+
+.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. DO NOT EDIT THIS FILE, but the Crypto.xml source instead.
+.. The source is found in doc/classes or modules/<name>/doc_classes.
+
+.. _class_Crypto:
+
+Crypto
+======
+
+**Inherits:** :ref:`Reference<class_Reference>` **<** :ref:`Object<class_Object>`
+
+**Category:** Core
+
+Brief Description
+-----------------
+
+
+
+Methods
+-------
+
++-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`PoolByteArray<class_PoolByteArray>`     | :ref:`generate_random_bytes<class_Crypto_method_generate_random_bytes>` **(** :ref:`int<class_int>` size **)**                                                                                                                                                                                                                                |
++-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`CryptoKey<class_CryptoKey>`             | :ref:`generate_rsa<class_Crypto_method_generate_rsa>` **(** :ref:`int<class_int>` size **)**                                                                                                                                                                                                                                                  |
++-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`X509Certificate<class_X509Certificate>` | :ref:`generate_self_signed_certificate<class_Crypto_method_generate_self_signed_certificate>` **(** :ref:`CryptoKey<class_CryptoKey>` key, :ref:`String<class_String>` issuer_name="CN=myserver,O=myorganisation,C=IT", :ref:`String<class_String>` not_before="20140101000000", :ref:`String<class_String>` not_after="20340101000000" **)** |
++-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+
+Method Descriptions
+-------------------
+
+.. _class_Crypto_method_generate_random_bytes:
+
+- :ref:`PoolByteArray<class_PoolByteArray>` **generate_random_bytes** **(** :ref:`int<class_int>` size **)**
+
+.. _class_Crypto_method_generate_rsa:
+
+- :ref:`CryptoKey<class_CryptoKey>` **generate_rsa** **(** :ref:`int<class_int>` size **)**
+
+.. _class_Crypto_method_generate_self_signed_certificate:
+
+- :ref:`X509Certificate<class_X509Certificate>` **generate_self_signed_certificate** **(** :ref:`CryptoKey<class_CryptoKey>` key, :ref:`String<class_String>` issuer_name="CN=myserver,O=myorganisation,C=IT", :ref:`String<class_String>` not_before="20140101000000", :ref:`String<class_String>` not_after="20340101000000" **)**
+

+ 40 - 0
classes/class_cryptokey.rst

@@ -0,0 +1,40 @@
+:github_url: hide
+
+.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. DO NOT EDIT THIS FILE, but the CryptoKey.xml source instead.
+.. The source is found in doc/classes or modules/<name>/doc_classes.
+
+.. _class_CryptoKey:
+
+CryptoKey
+=========
+
+**Inherits:** :ref:`Resource<class_Resource>` **<** :ref:`Reference<class_Reference>` **<** :ref:`Object<class_Object>`
+
+**Category:** Core
+
+Brief Description
+-----------------
+
+
+
+Methods
+-------
+
++---------------------------------------+---------------------------------------------------------------------------------------+
+| :ref:`Error<enum_@GlobalScope_Error>` | :ref:`load<class_CryptoKey_method_load>` **(** :ref:`String<class_String>` path **)** |
++---------------------------------------+---------------------------------------------------------------------------------------+
+| :ref:`Error<enum_@GlobalScope_Error>` | :ref:`save<class_CryptoKey_method_save>` **(** :ref:`String<class_String>` path **)** |
++---------------------------------------+---------------------------------------------------------------------------------------+
+
+Method Descriptions
+-------------------
+
+.. _class_CryptoKey_method_load:
+
+- :ref:`Error<enum_@GlobalScope_Error>` **load** **(** :ref:`String<class_String>` path **)**
+
+.. _class_CryptoKey_method_save:
+
+- :ref:`Error<enum_@GlobalScope_Error>` **save** **(** :ref:`String<class_String>` path **)**
+

+ 2 - 2
classes/class_directory.rst

@@ -168,9 +168,9 @@ On UNIX desktop systems, returns the available space on the current directory's
 
 Initializes the stream used to list all files and directories using the :ref:`get_next<class_Directory_method_get_next>` function, closing the current opened stream if needed. Once the stream has been processed, it should typically be closed with :ref:`list_dir_end<class_Directory_method_list_dir_end>`.
 
-If you pass ``skip_navigational``, then ``.`` and ``..`` would be filtered out.
+If ``skip_navigational`` is ``true``, ``.`` and ``..`` are filtered out.
 
-If you pass ``skip_hidden``, then hidden files would be filtered out.
+If ``skip_hidden`` is ``true``, hidden files are filtered out.
 
 .. _class_Directory_method_list_dir_end:
 

+ 12 - 0
classes/class_editorinterface.rst

@@ -62,6 +62,10 @@ Methods
 +-----------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                                      | :ref:`select_file<class_EditorInterface_method_select_file>` **(** :ref:`String<class_String>` file **)**                                                      |
 +-----------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                                      | :ref:`set_distraction_free_mode<class_EditorInterface_method_set_distraction_free_mode>` **(** :ref:`bool<class_bool>` enter **)**                             |
++-----------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                                      | :ref:`set_main_screen_editor<class_EditorInterface_method_set_main_screen_editor>` **(** :ref:`String<class_String>` name **)**                                |
++-----------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                                      | :ref:`set_plugin_enabled<class_EditorInterface_method_set_plugin_enabled>` **(** :ref:`String<class_String>` plugin, :ref:`bool<class_bool>` enabled **)**     |
 +-----------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
 
@@ -189,6 +193,14 @@ Saves the scene as a file at ``path``.
 
 Selects the file, with the path provided by ``file``, in the FileSystem dock.
 
+.. _class_EditorInterface_method_set_distraction_free_mode:
+
+- void **set_distraction_free_mode** **(** :ref:`bool<class_bool>` enter **)**
+
+.. _class_EditorInterface_method_set_main_screen_editor:
+
+- void **set_main_screen_editor** **(** :ref:`String<class_String>` name **)**
+
 .. _class_EditorInterface_method_set_plugin_enabled:
 
 - void **set_plugin_enabled** **(** :ref:`String<class_String>` plugin, :ref:`bool<class_bool>` enabled **)**

+ 2 - 2
classes/class_editorplugin.rst

@@ -330,13 +330,13 @@ During run-time, this will be a simple object with a script so this function doe
 
 - void **add_tool_menu_item** **(** :ref:`String<class_String>` name, :ref:`Object<class_Object>` handler, :ref:`String<class_String>` callback, :ref:`Variant<class_Variant>` ud=null **)**
 
-Adds a custom menu to **Project > Tools** as ``name`` that calls ``callback`` on an instance of ``handler`` with a parameter ``ud`` when user activates it.
+Adds a custom menu item to **Project > Tools** as ``name`` that calls ``callback`` on an instance of ``handler`` with a parameter ``ud`` when user activates it.
 
 .. _class_EditorPlugin_method_add_tool_submenu_item:
 
 - void **add_tool_submenu_item** **(** :ref:`String<class_String>` name, :ref:`Object<class_Object>` submenu **)**
 
-Like :ref:`add_tool_menu_item<class_EditorPlugin_method_add_tool_menu_item>` but adds the ``submenu`` item inside the ``name`` menu.
+Adds a custom submenu under **Project > Tools >** ``name``. ``submenu`` should be an object of class :ref:`PopupMenu<class_PopupMenu>`. This submenu should be cleaned up using ``remove_tool_menu_item(name)``.
 
 .. _class_EditorPlugin_method_apply_changes:
 

+ 6 - 6
classes/class_environment.rst

@@ -104,9 +104,9 @@ Properties
 +--------------------------------------------------------+----------------------------------------------------------------------------------------------------+------------------------------------+
 | :ref:`bool<class_bool>`                                | :ref:`fog_height_enabled<class_Environment_property_fog_height_enabled>`                           | false                              |
 +--------------------------------------------------------+----------------------------------------------------------------------------------------------------+------------------------------------+
-| :ref:`float<class_float>`                              | :ref:`fog_height_max<class_Environment_property_fog_height_max>`                                   | 100.0                              |
+| :ref:`float<class_float>`                              | :ref:`fog_height_max<class_Environment_property_fog_height_max>`                                   | 0.0                                |
 +--------------------------------------------------------+----------------------------------------------------------------------------------------------------+------------------------------------+
-| :ref:`float<class_float>`                              | :ref:`fog_height_min<class_Environment_property_fog_height_min>`                                   | 0.0                                |
+| :ref:`float<class_float>`                              | :ref:`fog_height_min<class_Environment_property_fog_height_min>`                                   | 10.0                               |
 +--------------------------------------------------------+----------------------------------------------------------------------------------------------------+------------------------------------+
 | :ref:`float<class_float>`                              | :ref:`fog_sun_amount<class_Environment_property_fog_sun_amount>`                                   | 0.0                                |
 +--------------------------------------------------------+----------------------------------------------------------------------------------------------------+------------------------------------+
@@ -927,28 +927,28 @@ Enables the fog height.
 - :ref:`float<class_float>` **fog_height_max**
 
 +-----------+---------------------------+
-| *Default* | 100.0                     |
+| *Default* | 0.0                       |
 +-----------+---------------------------+
 | *Setter*  | set_fog_height_max(value) |
 +-----------+---------------------------+
 | *Getter*  | get_fog_height_max()      |
 +-----------+---------------------------+
 
-Maximum height of fog.
+The Y coordinate where the height fog will be the most intense. If this value is greater than :ref:`fog_height_min<class_Environment_property_fog_height_min>`, fog will be displayed from bottom to top. Otherwise, it will be displayed from top to bottom.
 
 .. _class_Environment_property_fog_height_min:
 
 - :ref:`float<class_float>` **fog_height_min**
 
 +-----------+---------------------------+
-| *Default* | 0.0                       |
+| *Default* | 10.0                      |
 +-----------+---------------------------+
 | *Setter*  | set_fog_height_min(value) |
 +-----------+---------------------------+
 | *Getter*  | get_fog_height_min()      |
 +-----------+---------------------------+
 
-Minimum height of fog.
+The Y coordinate where the height fog will be the least intense. If this value is greater than :ref:`fog_height_max<class_Environment_property_fog_height_max>`, fog will be displayed from top to bottom. Otherwise, it will be displayed from bottom to top.
 
 .. _class_Environment_property_fog_sun_amount:
 

+ 13 - 11
classes/class_filedialog.rst

@@ -59,17 +59,19 @@ Methods
 Theme Properties
 ----------------
 
-+-------------------------------+----------------+-----------------------+
-| :ref:`Color<class_Color>`     | files_disabled | Color( 0, 0, 0, 0.7 ) |
-+-------------------------------+----------------+-----------------------+
-| :ref:`Texture<class_Texture>` | folder         |                       |
-+-------------------------------+----------------+-----------------------+
-| :ref:`Texture<class_Texture>` | parent_folder  |                       |
-+-------------------------------+----------------+-----------------------+
-| :ref:`Texture<class_Texture>` | reload         |                       |
-+-------------------------------+----------------+-----------------------+
-| :ref:`Texture<class_Texture>` | toggle_hidden  |                       |
-+-------------------------------+----------------+-----------------------+
++-------------------------------+----------------------+-----------------------+
+| :ref:`Color<class_Color>`     | files_disabled       | Color( 0, 0, 0, 0.7 ) |
++-------------------------------+----------------------+-----------------------+
+| :ref:`Texture<class_Texture>` | folder               |                       |
++-------------------------------+----------------------+-----------------------+
+| :ref:`Color<class_Color>`     | folder_icon_modulate | Color( 1, 1, 1, 1 )   |
++-------------------------------+----------------------+-----------------------+
+| :ref:`Texture<class_Texture>` | parent_folder        |                       |
++-------------------------------+----------------------+-----------------------+
+| :ref:`Texture<class_Texture>` | reload               |                       |
++-------------------------------+----------------------+-----------------------+
+| :ref:`Texture<class_Texture>` | toggle_hidden        |                       |
++-------------------------------+----------------------+-----------------------+
 
 Signals
 -------

+ 10 - 0
classes/class_funcref.rst

@@ -24,6 +24,8 @@ Methods
 +-------------------------------+---------------------------------------------------------------------------------------------------------+
 | :ref:`Variant<class_Variant>` | :ref:`call_func<class_FuncRef_method_call_func>` **(** ... **)** vararg                                 |
 +-------------------------------+---------------------------------------------------------------------------------------------------------+
+| :ref:`Variant<class_Variant>` | :ref:`call_funcv<class_FuncRef_method_call_funcv>` **(** :ref:`Array<class_Array>` arg_array **)**      |
++-------------------------------+---------------------------------------------------------------------------------------------------------+
 | :ref:`bool<class_bool>`       | :ref:`is_valid<class_FuncRef_method_is_valid>` **(** **)** const                                        |
 +-------------------------------+---------------------------------------------------------------------------------------------------------+
 | void                          | :ref:`set_function<class_FuncRef_method_set_function>` **(** :ref:`String<class_String>` name **)**     |
@@ -47,10 +49,18 @@ Method Descriptions
 
 Calls the referenced function previously set by :ref:`set_function<class_FuncRef_method_set_function>` or :ref:`@GDScript.funcref<class_@GDScript_method_funcref>`.
 
+.. _class_FuncRef_method_call_funcv:
+
+- :ref:`Variant<class_Variant>` **call_funcv** **(** :ref:`Array<class_Array>` arg_array **)**
+
+Calls the referenced function previously set by :ref:`set_function<class_FuncRef_method_set_function>` or :ref:`@GDScript.funcref<class_@GDScript_method_funcref>`. Contrarily to :ref:`call_func<class_FuncRef_method_call_func>`, this method does not support a variable number of arguments but expects all parameters to be passed via a single :ref:`Array<class_Array>`.
+
 .. _class_FuncRef_method_is_valid:
 
 - :ref:`bool<class_bool>` **is_valid** **(** **)** const
 
+Returns whether the object still exists and has the function assigned.
+
 .. _class_FuncRef_method_set_function:
 
 - void **set_function** **(** :ref:`String<class_String>` name **)**

+ 12 - 4
classes/class_geometryinstance.rst

@@ -79,7 +79,7 @@ Will not take culling into account, so all faces will be taken into account when
 
 - **SHADOW_CASTING_SETTING_SHADOWS_ONLY** = **3** --- Will only show the shadows casted from this object.
 
-In other words: The actual mesh will not be visible, only the shadows casted from the mesh.
+In other words, the actual mesh will not be visible, only the shadows casted from the mesh will be.
 
 .. _enum_GeometryInstance_Flags:
 
@@ -91,7 +91,7 @@ In other words: The actual mesh will not be visible, only the shadows casted fro
 
 enum **Flags**:
 
-- **FLAG_USE_BAKED_LIGHT** = **0** --- Will allow the GeometryInstance to be used when baking lights using a :ref:`GIProbe<class_GIProbe>` and/or any other form of baked lighting.
+- **FLAG_USE_BAKED_LIGHT** = **0** --- Will allow the GeometryInstance to be used when baking lights using a :ref:`GIProbe<class_GIProbe>` or :ref:`BakedLightmap<class_BakedLightmap>`.
 
 - **FLAG_DRAW_NEXT_FRAME_IF_VISIBLE** = **1** --- Unused in this class, exposed for consistency with :ref:`InstanceFlags<enum_VisualServer_InstanceFlags>`.
 
@@ -147,6 +147,8 @@ The extra distance added to the GeometryInstance's bounding box (:ref:`AABB<clas
 
 The GeometryInstance's max LOD distance.
 
+**Note:** This property currently has no effect.
+
 .. _class_GeometryInstance_property_lod_max_hysteresis:
 
 - :ref:`float<class_float>` **lod_max_hysteresis**
@@ -161,6 +163,8 @@ The GeometryInstance's max LOD distance.
 
 The GeometryInstance's max LOD margin.
 
+**Note:** This property currently has no effect.
+
 .. _class_GeometryInstance_property_lod_min_distance:
 
 - :ref:`float<class_float>` **lod_min_distance**
@@ -175,6 +179,8 @@ The GeometryInstance's max LOD margin.
 
 The GeometryInstance's min LOD distance.
 
+**Note:** This property currently has no effect.
+
 .. _class_GeometryInstance_property_lod_min_hysteresis:
 
 - :ref:`float<class_float>` **lod_min_hysteresis**
@@ -189,6 +195,8 @@ The GeometryInstance's min LOD distance.
 
 The GeometryInstance's min LOD margin.
 
+**Note:** This property currently has no effect.
+
 .. _class_GeometryInstance_property_material_override:
 
 - :ref:`Material<class_Material>` **material_override**
@@ -201,7 +209,7 @@ The GeometryInstance's min LOD margin.
 
 The material override for the whole geometry.
 
-If there is a material in ``material_override``, it will be used instead of any material set in any material slot of the mesh.
+If a material is assigned to this property, it will be used instead of any material set in any material slot of the mesh.
 
 .. _class_GeometryInstance_property_use_in_baked_light:
 
@@ -215,7 +223,7 @@ If there is a material in ``material_override``, it will be used instead of any
 | *Getter*  | get_flag()      |
 +-----------+-----------------+
 
-If ``true``, this GeometryInstance will be used when baking lights using a :ref:`GIProbe<class_GIProbe>` and/or any other form of baked lighting.
+If ``true``, this GeometryInstance will be used when baking lights using a :ref:`GIProbe<class_GIProbe>` or :ref:`BakedLightmap<class_BakedLightmap>`.
 
 Method Descriptions
 -------------------

+ 12 - 0
classes/class_graphedit.rst

@@ -130,6 +130,12 @@ Signal sent to the GraphEdit when the connection between the ``from_slot`` slot
 
 Signal sent when user dragging connection from output port into empty space of the graph.
 
+.. _class_GraphEdit_signal_copy_nodes_request:
+
+- **copy_nodes_request** **(** **)**
+
+Signal sent when the user presses ``Ctrl + C``.
+
 .. _class_GraphEdit_signal_delete_nodes_request:
 
 - **delete_nodes_request** **(** **)**
@@ -154,6 +160,12 @@ Emitted when a GraphNode is attempted to be duplicated in the GraphEdit.
 
 Emitted when a GraphNode is selected.
 
+.. _class_GraphEdit_signal_paste_nodes_request:
+
+- **paste_nodes_request** **(** **)**
+
+Signal sent when the user presses ``Ctrl + V``.
+
 .. _class_GraphEdit_signal_popup_request:
 
 - **popup_request** **(** :ref:`Vector2<class_Vector2>` position **)**

+ 65 - 0
classes/class_hashingcontext.rst

@@ -0,0 +1,65 @@
+:github_url: hide
+
+.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. DO NOT EDIT THIS FILE, but the HashingContext.xml source instead.
+.. The source is found in doc/classes or modules/<name>/doc_classes.
+
+.. _class_HashingContext:
+
+HashingContext
+==============
+
+**Inherits:** :ref:`Reference<class_Reference>` **<** :ref:`Object<class_Object>`
+
+**Category:** Core
+
+Brief Description
+-----------------
+
+
+
+Methods
+-------
+
++-------------------------------------------+----------------------------------------------------------------------------------------------------------------+
+| :ref:`PoolByteArray<class_PoolByteArray>` | :ref:`finish<class_HashingContext_method_finish>` **(** **)**                                                  |
++-------------------------------------------+----------------------------------------------------------------------------------------------------------------+
+| :ref:`Error<enum_@GlobalScope_Error>`     | :ref:`start<class_HashingContext_method_start>` **(** :ref:`HashType<enum_HashingContext_HashType>` type **)** |
++-------------------------------------------+----------------------------------------------------------------------------------------------------------------+
+| :ref:`Error<enum_@GlobalScope_Error>`     | :ref:`update<class_HashingContext_method_update>` **(** :ref:`PoolByteArray<class_PoolByteArray>` chunk **)**  |
++-------------------------------------------+----------------------------------------------------------------------------------------------------------------+
+
+Enumerations
+------------
+
+.. _enum_HashingContext_HashType:
+
+.. _class_HashingContext_constant_HASH_MD5:
+
+.. _class_HashingContext_constant_HASH_SHA1:
+
+.. _class_HashingContext_constant_HASH_SHA256:
+
+enum **HashType**:
+
+- **HASH_MD5** = **0**
+
+- **HASH_SHA1** = **1**
+
+- **HASH_SHA256** = **2**
+
+Method Descriptions
+-------------------
+
+.. _class_HashingContext_method_finish:
+
+- :ref:`PoolByteArray<class_PoolByteArray>` **finish** **(** **)**
+
+.. _class_HashingContext_method_start:
+
+- :ref:`Error<enum_@GlobalScope_Error>` **start** **(** :ref:`HashType<enum_HashingContext_HashType>` type **)**
+
+.. _class_HashingContext_method_update:
+
+- :ref:`Error<enum_@GlobalScope_Error>` **update** **(** :ref:`PoolByteArray<class_PoolByteArray>` chunk **)**
+

+ 8 - 0
classes/class_image.rst

@@ -117,6 +117,8 @@ Methods
 +-------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`Image<class_Image>`                 | :ref:`rgbe_to_srgb<class_Image_method_rgbe_to_srgb>` **(** **)**                                                                                                                                                                                                 |
 +-------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Error<enum_@GlobalScope_Error>`     | :ref:`save_exr<class_Image_method_save_exr>` **(** :ref:`String<class_String>` path, :ref:`bool<class_bool>` grayscale=false **)** const                                                                                                                         |
++-------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`Error<enum_@GlobalScope_Error>`     | :ref:`save_png<class_Image_method_save_png>` **(** :ref:`String<class_String>` path **)** const                                                                                                                                                                  |
 +-------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                      | :ref:`set_pixel<class_Image_method_set_pixel>` **(** :ref:`int<class_int>` x, :ref:`int<class_int>` y, :ref:`Color<class_Color>` color **)**                                                                                                                     |
@@ -687,6 +689,12 @@ Resizes the image to the nearest power of 2 for the width and height. If ``squar
 
 - :ref:`Image<class_Image>` **rgbe_to_srgb** **(** **)**
 
+.. _class_Image_method_save_exr:
+
+- :ref:`Error<enum_@GlobalScope_Error>` **save_exr** **(** :ref:`String<class_String>` path, :ref:`bool<class_bool>` grayscale=false **)** const
+
+Saves the image as an EXR file to ``path``. If grayscale is true and the image has only one channel, it will be saved explicitely as monochrome rather than one red channel. This function will return :ref:`@GlobalScope.ERR_UNAVAILABLE<class_@GlobalScope_constant_ERR_UNAVAILABLE>`  if Godot was compiled without the TinyEXR module.
+
 .. _class_Image_method_save_png:
 
 - :ref:`Error<enum_@GlobalScope_Error>` **save_png** **(** :ref:`String<class_String>` path **)** const

+ 23 - 2
classes/class_input.rst

@@ -100,6 +100,8 @@ Methods
 +--------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                       | :ref:`stop_joy_vibration<class_Input_method_stop_joy_vibration>` **(** :ref:`int<class_int>` device **)**                                                                                                                               |
 +--------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                       | :ref:`vibrate_handheld<class_Input_method_vibrate_handheld>` **(** :ref:`int<class_int>` duration_ms=500 **)**                                                                                                                          |
++--------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                       | :ref:`warp_mouse_position<class_Input_method_warp_mouse_position>` **(** :ref:`Vector2<class_Vector2>` to **)**                                                                                                                         |
 +--------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 
@@ -228,6 +230,8 @@ This will simulate pressing the specified action.
 
 The strength can be used for non-boolean actions, it's ranged between 0 and 1 representing the intensity of the given action.
 
+**Note:** This method will not cause any :ref:`Node._input<class_Node_method__input>` calls. It is intended to be used with :ref:`is_action_pressed<class_Input_method_is_action_pressed>` and :ref:`is_action_just_pressed<class_Input_method_is_action_just_pressed>`. If you want to simulate ``_input``, use :ref:`parse_input_event<class_Input_method_parse_input_event>` instead.
+
 .. _class_Input_method_action_release:
 
 - void **action_release** **(** :ref:`String<class_String>` action **)**
@@ -372,7 +376,7 @@ Returns ``true`` when the user stops pressing the action event, meaning it's ``t
 
 - :ref:`bool<class_bool>` **is_action_pressed** **(** :ref:`String<class_String>` action **)** const
 
-Returns ``true`` if you are pressing the action event.
+Returns ``true`` if you are pressing the action event. Note that if an action has multiple buttons asigned and more than one of them is pressed, releasing one button will release the action, even if some other button assigned to this action is still pressed.
 
 .. _class_Input_method_is_joy_button_pressed:
 
@@ -406,7 +410,16 @@ Returns ``true`` if you are pressing the mouse button specified with :ref:`Butto
 
 - void **parse_input_event** **(** :ref:`InputEvent<class_InputEvent>` event **)**
 
-Feeds an :ref:`InputEvent<class_InputEvent>` to the game. Can be used to artificially trigger input events from code.
+Feeds an :ref:`InputEvent<class_InputEvent>` to the game. Can be used to artificially trigger input events from code. Also generates :ref:`Node._input<class_Node_method__input>` calls.
+
+Example:
+
+::
+
+    var a = InputEventAction.new()
+    a.action = "ui_cancel"
+    a.pressed = true
+    Input.parse_input_event(a)
 
 .. _class_Input_method_remove_joy_mapping:
 
@@ -460,6 +473,14 @@ Starts to vibrate the joypad. Joypads usually come with two rumble motors, a str
 
 Stops the vibration of the joypad.
 
+.. _class_Input_method_vibrate_handheld:
+
+- void **vibrate_handheld** **(** :ref:`int<class_int>` duration_ms=500 **)**
+
+Vibrate Android and iOS devices.
+
+**Note:** It needs VIBRATE permission for Android at export settings. iOS does not support duration.
+
 .. _class_Input_method_warp_mouse_position:
 
 - void **warp_mouse_position** **(** :ref:`Vector2<class_Vector2>` to **)**

+ 1 - 1
classes/class_mainloop.rst

@@ -127,7 +127,7 @@ Specific to the macOS platform.
 Description
 -----------
 
-``MainLoop`` is the abstract base class for a Godot project's game loop. It in inherited by :ref:`SceneTree<class_SceneTree>`, which is the default game loop implementation used in Godot projects, though it is also possible to write and use one's own ``MainLoop`` subclass instead of the scene tree.
+``MainLoop`` is the abstract base class for a Godot project's game loop. It is inherited by :ref:`SceneTree<class_SceneTree>`, which is the default game loop implementation used in Godot projects, though it is also possible to write and use one's own ``MainLoop`` subclass instead of the scene tree.
 
 Upon the application start, a ``MainLoop`` implementation must be provided to the OS; otherwise, the application will exit. This happens automatically (and a :ref:`SceneTree<class_SceneTree>` is created) unless a main :ref:`Script<class_Script>` is provided from the command line (with e.g. ``godot -s my_loop.gd``, which should then be a ``MainLoop`` implementation.
 

+ 8 - 0
classes/class_node.rst

@@ -627,6 +627,14 @@ Adds a child node. Nodes can have any number of children, but every child must h
 
 If ``legible_unique_name`` is ``true``, the child node will have an human-readable name based on the name of the node being instanced instead of its type.
 
+**Note:** If the child node already has a parent, the function will fail. Use :ref:`remove_child<class_Node_method_remove_child>` first to remove the node from its current parent. For example:
+
+::
+
+    if child_node.get_parent():
+        child_node.get_parent().remove_child(child_node)
+    add_child(child_node)
+
 .. _class_Node_method_add_child_below_node:
 
 - void **add_child_below_node** **(** :ref:`Node<class_Node>` node, :ref:`Node<class_Node>` child_node, :ref:`bool<class_bool>` legible_unique_name=false **)**

+ 1 - 1
classes/class_object.rst

@@ -252,7 +252,7 @@ Calls the ``method`` on the object during idle time and returns the result. This
 
 - :ref:`Variant<class_Variant>` **callv** **(** :ref:`String<class_String>` method, :ref:`Array<class_Array>` arg_array **)**
 
-Calls the ``method`` on the object and returns the result. Contrarily to :ref:`call<class_Object_method_call>`, this method does not support a variable number of arguments but expected all parameters passed via a single :ref:`Array<class_Array>`.
+Calls the ``method`` on the object and returns the result. Contrarily to :ref:`call<class_Object_method_call>`, this method does not support a variable number of arguments but expects all parameters to be via a single :ref:`Array<class_Array>`.
 
 ::
 

+ 6 - 8
classes/class_poolbytearray.rst

@@ -34,6 +34,8 @@ Methods
 +-------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`String<class_String>`               | :ref:`get_string_from_utf8<class_PoolByteArray_method_get_string_from_utf8>` **(** **)**                                                         |
 +-------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_String>`               | :ref:`hex_encode<class_PoolByteArray_method_hex_encode>` **(** **)**                                                                             |
++-------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`int<class_int>`                     | :ref:`insert<class_PoolByteArray_method_insert>` **(** :ref:`int<class_int>` idx, :ref:`int<class_int>` byte **)**                               |
 +-------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                      | :ref:`invert<class_PoolByteArray_method_invert>` **(** **)**                                                                                     |
@@ -46,8 +48,6 @@ Methods
 +-------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                      | :ref:`set<class_PoolByteArray_method_set>` **(** :ref:`int<class_int>` idx, :ref:`int<class_int>` byte **)**                                     |
 +-------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_String>`               | :ref:`sha256_string<class_PoolByteArray_method_sha256_string>` **(** **)**                                                                       |
-+-------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`int<class_int>`                     | :ref:`size<class_PoolByteArray_method_size>` **(** **)**                                                                                         |
 +-------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`PoolByteArray<class_PoolByteArray>` | :ref:`subarray<class_PoolByteArray_method_subarray>` **(** :ref:`int<class_int>` from, :ref:`int<class_int>` to **)**                            |
@@ -105,6 +105,10 @@ Returns a copy of the array's contents as :ref:`String<class_String>`. Fast alte
 
 Returns a copy of the array's contents as :ref:`String<class_String>`. Slower than :ref:`get_string_from_ascii<class_PoolByteArray_method_get_string_from_ascii>` but supports UTF-8 encoded data. Use this function if you are unsure about the source of the data. For user input this function should always be preferred.
 
+.. _class_PoolByteArray_method_hex_encode:
+
+- :ref:`String<class_String>` **hex_encode** **(** **)**
+
 .. _class_PoolByteArray_method_insert:
 
 - :ref:`int<class_int>` **insert** **(** :ref:`int<class_int>` idx, :ref:`int<class_int>` byte **)**
@@ -141,12 +145,6 @@ Sets the size of the array. If the array is grown, reserves elements at the end
 
 Changes the byte at the given index.
 
-.. _class_PoolByteArray_method_sha256_string:
-
-- :ref:`String<class_String>` **sha256_string** **(** **)**
-
-Returns SHA-256 string of the PoolByteArray.
-
 .. _class_PoolByteArray_method_size:
 
 - :ref:`int<class_int>` **size** **(** **)**

+ 2 - 0
classes/class_poolintarray.rst

@@ -48,6 +48,8 @@ An :ref:`Array<class_Array>` specifically designed to hold integer values (:ref:
 
 **Note:** This type is passed by value and not by reference.
 
+**Note:** This type is limited to signed 32-bit integers, which means it can only take values in the interval ``[-2^31, 2^31 - 1]``, i.e. ``[-2147483648, 2147483647]``. Exceeding those bounds will wrap around. In comparison, :ref:`int<class_int>` uses signed 64-bit integers which can hold much larger values.
+
 Method Descriptions
 -------------------
 

+ 8 - 0
classes/class_popup.rst

@@ -41,6 +41,8 @@ Methods
 +------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void | :ref:`popup_centered_ratio<class_Popup_method_popup_centered_ratio>` **(** :ref:`float<class_float>` ratio=0.75 **)**                                                                  |
 +------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void | :ref:`set_as_minsize<class_Popup_method_set_as_minsize>` **(** **)**                                                                                                                   |
++------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 
 Signals
 -------
@@ -123,3 +125,9 @@ Popup (show the control in modal form) in the center of the screen relative to t
 
 Popup (show the control in modal form) in the center of the screen relative to the current canvas transform, scaled at a ratio of size of the screen.
 
+.. _class_Popup_method_set_as_minsize:
+
+- void **set_as_minsize** **(** **)**
+
+Shrink popup to keep to the minimum size of content.
+

+ 39 - 7
classes/class_projectsettings.rst

@@ -414,14 +414,18 @@ Properties
 +-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`int<class_int>`                         | :ref:`network/limits/debugger_stdout/max_chars_per_second<class_ProjectSettings_property_network/limits/debugger_stdout/max_chars_per_second>`                       | 2048                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
 +-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                         | :ref:`network/limits/debugger_stdout/max_errors_per_frame<class_ProjectSettings_property_network/limits/debugger_stdout/max_errors_per_frame>`                       | 10                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
+| :ref:`int<class_int>`                         | :ref:`network/limits/debugger_stdout/max_errors_per_second<class_ProjectSettings_property_network/limits/debugger_stdout/max_errors_per_second>`                     | 100                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
 +-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`int<class_int>`                         | :ref:`network/limits/debugger_stdout/max_messages_per_frame<class_ProjectSettings_property_network/limits/debugger_stdout/max_messages_per_frame>`                   | 10                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
 +-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                         | :ref:`network/limits/debugger_stdout/max_warnings_per_second<class_ProjectSettings_property_network/limits/debugger_stdout/max_warnings_per_second>`                 | 100                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`int<class_int>`                         | :ref:`network/limits/packet_peer_stream/max_buffer_po2<class_ProjectSettings_property_network/limits/packet_peer_stream/max_buffer_po2>`                             | 16                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
 +-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`int<class_int>`                         | :ref:`network/limits/tcp/connect_timeout_seconds<class_ProjectSettings_property_network/limits/tcp/connect_timeout_seconds>`                                         | 30                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
 +-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                         | :ref:`network/limits/webrtc/max_channel_in_buffer_kb<class_ProjectSettings_property_network/limits/webrtc/max_channel_in_buffer_kb>`                                 | 64                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`int<class_int>`                         | :ref:`network/limits/websocket_client/max_in_buffer_kb<class_ProjectSettings_property_network/limits/websocket_client/max_in_buffer_kb>`                             | 64                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
 +-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`int<class_int>`                         | :ref:`network/limits/websocket_client/max_in_packets<class_ProjectSettings_property_network/limits/websocket_client/max_in_packets>`                                 | 1024                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
@@ -442,6 +446,8 @@ Properties
 +-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`int<class_int>`                         | :ref:`network/remote_fs/page_size<class_ProjectSettings_property_network/remote_fs/page_size>`                                                                       | 65536                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
 +-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_String>`                   | :ref:`network/ssl/certificates<class_ProjectSettings_property_network/ssl/certificates>`                                                                             | ""                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`int<class_int>`                         | :ref:`node/name_casing<class_ProjectSettings_property_node/name_casing>`                                                                                             | 0                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
 +-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`int<class_int>`                         | :ref:`node/name_num_separator<class_ProjectSettings_property_node/name_num_separator>`                                                                               | 0                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
@@ -2370,15 +2376,15 @@ This is used by servers when used in multi-threading mode (servers and visual).
 
 Maximum amount of characters allowed to send as output from the debugger. Over this value, content is dropped. This helps not to stall the debugger connection.
 
-.. _class_ProjectSettings_property_network/limits/debugger_stdout/max_errors_per_frame:
+.. _class_ProjectSettings_property_network/limits/debugger_stdout/max_errors_per_second:
 
-- :ref:`int<class_int>` **network/limits/debugger_stdout/max_errors_per_frame**
+- :ref:`int<class_int>` **network/limits/debugger_stdout/max_errors_per_second**
 
-+-----------+----+
-| *Default* | 10 |
-+-----------+----+
++-----------+-----+
+| *Default* | 100 |
++-----------+-----+
 
-Maximum amount of errors allowed to send as output from the debugger. Over this value, content is dropped. This helps not to stall the debugger connection.
+Maximum number of errors allowed to be sent as output from the debugger. Over this value, content is dropped. This helps not to stall the debugger connection.
 
 .. _class_ProjectSettings_property_network/limits/debugger_stdout/max_messages_per_frame:
 
@@ -2390,6 +2396,16 @@ Maximum amount of errors allowed to send as output from the debugger. Over this
 
 Maximum amount of messages allowed to send as output from the debugger. Over this value, content is dropped. This helps not to stall the debugger connection.
 
+.. _class_ProjectSettings_property_network/limits/debugger_stdout/max_warnings_per_second:
+
+- :ref:`int<class_int>` **network/limits/debugger_stdout/max_warnings_per_second**
+
++-----------+-----+
+| *Default* | 100 |
++-----------+-----+
+
+Maximum number of warnings allowed to be sent as output from the debugger. Over this value, content is dropped. This helps not to stall the debugger connection.
+
 .. _class_ProjectSettings_property_network/limits/packet_peer_stream/max_buffer_po2:
 
 - :ref:`int<class_int>` **network/limits/packet_peer_stream/max_buffer_po2**
@@ -2408,6 +2424,14 @@ Default size of packet peer stream for deserializing Godot data. Over this size,
 | *Default* | 30 |
 +-----------+----+
 
+.. _class_ProjectSettings_property_network/limits/webrtc/max_channel_in_buffer_kb:
+
+- :ref:`int<class_int>` **network/limits/webrtc/max_channel_in_buffer_kb**
+
++-----------+----+
+| *Default* | 64 |
++-----------+----+
+
 .. _class_ProjectSettings_property_network/limits/websocket_client/max_in_buffer_kb:
 
 - :ref:`int<class_int>` **network/limits/websocket_client/max_in_buffer_kb**
@@ -2492,6 +2516,14 @@ Amount of read ahead used by remote filesystem. Higher values decrease the effec
 
 Page size used by remote filesystem (in bytes).
 
+.. _class_ProjectSettings_property_network/ssl/certificates:
+
+- :ref:`String<class_String>` **network/ssl/certificates**
+
++-----------+----+
+| *Default* | "" |
++-----------+----+
+
 .. _class_ProjectSettings_property_node/name_casing:
 
 - :ref:`int<class_int>` **node/name_casing**

File diff ditekan karena terlalu besar
+ 0 - 0
classes/class_reference.rst


File diff ditekan karena terlalu besar
+ 0 - 0
classes/class_resource.rst


+ 2 - 0
classes/class_resourceformatloader.rst

@@ -11,6 +11,8 @@ ResourceFormatLoader
 
 **Inherits:** :ref:`Reference<class_Reference>` **<** :ref:`Object<class_Object>`
 
+**Inherited By:** :ref:`ResourceFormatLoaderCrypto<class_ResourceFormatLoaderCrypto>`
+
 **Category:** Core
 
 Brief Description

+ 20 - 0
classes/class_resourceformatloadercrypto.rst

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

+ 2 - 0
classes/class_resourceformatsaver.rst

@@ -11,6 +11,8 @@ ResourceFormatSaver
 
 **Inherits:** :ref:`Reference<class_Reference>` **<** :ref:`Object<class_Object>`
 
+**Inherited By:** :ref:`ResourceFormatSaverCrypto<class_ResourceFormatSaverCrypto>`
+
 **Category:** Core
 
 Brief Description

+ 20 - 0
classes/class_resourceformatsavercrypto.rst

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

+ 13 - 13
classes/class_streampeerssl.rst

@@ -28,17 +28,17 @@ Properties
 Methods
 -------
 
-+------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Error<enum_@GlobalScope_Error>`    | :ref:`accept_stream<class_StreamPeerSSL_method_accept_stream>` **(** :ref:`StreamPeer<class_StreamPeer>` base **)**                                                                                                      |
-+------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Error<enum_@GlobalScope_Error>`    | :ref:`connect_to_stream<class_StreamPeerSSL_method_connect_to_stream>` **(** :ref:`StreamPeer<class_StreamPeer>` stream, :ref:`bool<class_bool>` validate_certs=false, :ref:`String<class_String>` for_hostname="" **)** |
-+------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                     | :ref:`disconnect_from_stream<class_StreamPeerSSL_method_disconnect_from_stream>` **(** **)**                                                                                                                             |
-+------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Status<enum_StreamPeerSSL_Status>` | :ref:`get_status<class_StreamPeerSSL_method_get_status>` **(** **)** const                                                                                                                                               |
-+------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                     | :ref:`poll<class_StreamPeerSSL_method_poll>` **(** **)**                                                                                                                                                                 |
-+------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
++------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Error<enum_@GlobalScope_Error>`    | :ref:`accept_stream<class_StreamPeerSSL_method_accept_stream>` **(** :ref:`StreamPeer<class_StreamPeer>` stream, :ref:`CryptoKey<class_CryptoKey>` private_key, :ref:`X509Certificate<class_X509Certificate>` certificate, :ref:`X509Certificate<class_X509Certificate>` chain=null **)**      |
++------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Error<enum_@GlobalScope_Error>`    | :ref:`connect_to_stream<class_StreamPeerSSL_method_connect_to_stream>` **(** :ref:`StreamPeer<class_StreamPeer>` stream, :ref:`bool<class_bool>` validate_certs=false, :ref:`String<class_String>` for_hostname="", :ref:`X509Certificate<class_X509Certificate>` valid_certificate=null **)** |
++------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                     | :ref:`disconnect_from_stream<class_StreamPeerSSL_method_disconnect_from_stream>` **(** **)**                                                                                                                                                                                                   |
++------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Status<enum_StreamPeerSSL_Status>` | :ref:`get_status<class_StreamPeerSSL_method_get_status>` **(** **)** const                                                                                                                                                                                                                     |
++------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                     | :ref:`poll<class_StreamPeerSSL_method_poll>` **(** **)**                                                                                                                                                                                                                                       |
++------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 
 Enumerations
 ------------
@@ -97,11 +97,11 @@ Method Descriptions
 
 .. _class_StreamPeerSSL_method_accept_stream:
 
-- :ref:`Error<enum_@GlobalScope_Error>` **accept_stream** **(** :ref:`StreamPeer<class_StreamPeer>` base **)**
+- :ref:`Error<enum_@GlobalScope_Error>` **accept_stream** **(** :ref:`StreamPeer<class_StreamPeer>` stream, :ref:`CryptoKey<class_CryptoKey>` private_key, :ref:`X509Certificate<class_X509Certificate>` certificate, :ref:`X509Certificate<class_X509Certificate>` chain=null **)**
 
 .. _class_StreamPeerSSL_method_connect_to_stream:
 
-- :ref:`Error<enum_@GlobalScope_Error>` **connect_to_stream** **(** :ref:`StreamPeer<class_StreamPeer>` stream, :ref:`bool<class_bool>` validate_certs=false, :ref:`String<class_String>` for_hostname="" **)**
+- :ref:`Error<enum_@GlobalScope_Error>` **connect_to_stream** **(** :ref:`StreamPeer<class_StreamPeer>` stream, :ref:`bool<class_bool>` validate_certs=false, :ref:`String<class_String>` for_hostname="", :ref:`X509Certificate<class_X509Certificate>` valid_certificate=null **)**
 
 Connects to a peer using an underlying :ref:`StreamPeer<class_StreamPeer>` ``stream``. If ``validate_certs`` is ``true``, ``StreamPeerSSL`` will validate that the certificate presented by the peer matches the ``for_hostname``.
 

+ 28 - 0
classes/class_textedit.rst

@@ -46,6 +46,10 @@ Properties
 +-----------------------------+-------------------------------------------------------------------------------------------+-------+
 | :ref:`bool<class_bool>`     | :ref:`highlight_current_line<class_TextEdit_property_highlight_current_line>`             | false |
 +-----------------------------+-------------------------------------------------------------------------------------------+-------+
+| :ref:`bool<class_bool>`     | :ref:`minimap_draw<class_TextEdit_property_minimap_draw>`                                 | false |
++-----------------------------+-------------------------------------------------------------------------------------------+-------+
+| :ref:`int<class_int>`       | :ref:`minimap_width<class_TextEdit_property_minimap_width>`                               | 80    |
++-----------------------------+-------------------------------------------------------------------------------------------+-------+
 | :ref:`bool<class_bool>`     | :ref:`override_selected_font_color<class_TextEdit_property_override_selected_font_color>` | false |
 +-----------------------------+-------------------------------------------------------------------------------------------+-------+
 | :ref:`bool<class_bool>`     | :ref:`readonly<class_TextEdit_property_readonly>`                                         | false |
@@ -507,6 +511,30 @@ If ``true``, all occurrences of the selected text will be highlighted.
 
 If ``true``, the line containing the cursor is highlighted.
 
+.. _class_TextEdit_property_minimap_draw:
+
+- :ref:`bool<class_bool>` **minimap_draw**
+
++-----------+----------------------+
+| *Default* | false                |
++-----------+----------------------+
+| *Setter*  | draw_minimap(value)  |
++-----------+----------------------+
+| *Getter*  | is_drawing_minimap() |
++-----------+----------------------+
+
+.. _class_TextEdit_property_minimap_width:
+
+- :ref:`int<class_int>` **minimap_width**
+
++-----------+--------------------------+
+| *Default* | 80                       |
++-----------+--------------------------+
+| *Setter*  | set_minimap_width(value) |
++-----------+--------------------------+
+| *Getter*  | get_minimap_width()      |
++-----------+--------------------------+
+
 .. _class_TextEdit_property_override_selected_font_color:
 
 - :ref:`bool<class_bool>` **override_selected_font_color**

+ 2 - 0
classes/class_tree.rst

@@ -317,6 +317,8 @@ Trees are built via code, using :ref:`TreeItem<class_TreeItem>` objects to creat
         var subchild1 = tree.create_item(child1)
         subchild1.set_text(0, "Subchild1")
 
+To iterate over all the :ref:`TreeItem<class_TreeItem>` objects in a ``Tree`` object, use :ref:`TreeItem.get_next<class_TreeItem_method_get_next>` and :ref:`TreeItem.get_children<class_TreeItem_method_get_children>` after getting the root through :ref:`get_root<class_Tree_method_get_root>`.
+
 Property Descriptions
 ---------------------
 

+ 1 - 1
classes/class_vector2.rst

@@ -124,7 +124,7 @@ Constants
 Description
 -----------
 
-2-element structure that can be used to represent positions in 2d space or any other pair of numeric values.
+2-element structure that can be used to represent positions in 2D space or any other pair of numeric values.
 
 Tutorials
 ---------

File diff ditekan karena terlalu besar
+ 0 - 0
classes/class_visualshadernode.rst


+ 181 - 0
classes/class_visualshadernodecustom.rst

@@ -0,0 +1,181 @@
+:github_url: hide
+
+.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. DO NOT EDIT THIS FILE, but the VisualShaderNodeCustom.xml source instead.
+.. The source is found in doc/classes or modules/<name>/doc_classes.
+
+.. _class_VisualShaderNodeCustom:
+
+VisualShaderNodeCustom
+======================
+
+**Inherits:** :ref:`VisualShaderNode<class_VisualShaderNode>` **<** :ref:`Resource<class_Resource>` **<** :ref:`Reference<class_Reference>` **<** :ref:`Object<class_Object>`
+
+**Category:** Core
+
+Brief Description
+-----------------
+
+Virtual class to define custom :ref:`VisualShaderNode<class_VisualShaderNode>`\ s for use in the Visual Shader Editor.
+
+Methods
+-------
+
++-----------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_String>` | :ref:`_get_category<class_VisualShaderNodeCustom_method__get_category>` **(** **)** virtual                                                                                                                             |
++-----------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_String>` | :ref:`_get_code<class_VisualShaderNodeCustom_method__get_code>` **(** :ref:`Array<class_Array>` input_vars, :ref:`Array<class_Array>` output_vars, :ref:`int<class_int>` mode, :ref:`int<class_int>` type **)** virtual |
++-----------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_String>` | :ref:`_get_description<class_VisualShaderNodeCustom_method__get_description>` **(** **)** virtual                                                                                                                       |
++-----------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_String>` | :ref:`_get_global_code<class_VisualShaderNodeCustom_method__get_global_code>` **(** :ref:`int<class_int>` mode **)** virtual                                                                                            |
++-----------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`       | :ref:`_get_input_port_count<class_VisualShaderNodeCustom_method__get_input_port_count>` **(** **)** virtual                                                                                                             |
++-----------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_String>` | :ref:`_get_input_port_name<class_VisualShaderNodeCustom_method__get_input_port_name>` **(** :ref:`int<class_int>` port **)** virtual                                                                                    |
++-----------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`       | :ref:`_get_input_port_type<class_VisualShaderNodeCustom_method__get_input_port_type>` **(** :ref:`int<class_int>` port **)** virtual                                                                                    |
++-----------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_String>` | :ref:`_get_name<class_VisualShaderNodeCustom_method__get_name>` **(** **)** virtual                                                                                                                                     |
++-----------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`       | :ref:`_get_output_port_count<class_VisualShaderNodeCustom_method__get_output_port_count>` **(** **)** virtual                                                                                                           |
++-----------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_String>` | :ref:`_get_output_port_name<class_VisualShaderNodeCustom_method__get_output_port_name>` **(** :ref:`int<class_int>` port **)** virtual                                                                                  |
++-----------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`       | :ref:`_get_output_port_type<class_VisualShaderNodeCustom_method__get_output_port_type>` **(** :ref:`int<class_int>` port **)** virtual                                                                                  |
++-----------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`       | :ref:`_get_return_icon_type<class_VisualShaderNodeCustom_method__get_return_icon_type>` **(** **)** virtual                                                                                                             |
++-----------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_String>` | :ref:`_get_subcategory<class_VisualShaderNodeCustom_method__get_subcategory>` **(** **)** virtual                                                                                                                       |
++-----------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+
+Description
+-----------
+
+By inheriting this class you can create a custom :ref:`VisualShader<class_VisualShader>` script addon which will be automatically added to the Visual Shader Editor. The :ref:`VisualShaderNode<class_VisualShaderNode>`'s behavior is defined by overriding the provided virtual methods.
+
+In order for the node to be registered as an editor addon, you must use the ``tool`` keyword and provide a ``class_name`` for your custom script. For example:
+
+::
+
+    tool
+    extends VisualShaderNodeCustom
+    class_name VisualShaderNodeNoise
+
+Method Descriptions
+-------------------
+
+.. _class_VisualShaderNodeCustom_method__get_category:
+
+- :ref:`String<class_String>` **_get_category** **(** **)** virtual
+
+Override this method to define the category of the associated custom node in the Visual Shader Editor's members dialog.
+
+Defining this method is **optional**. If not overridden, the node will be filed under the "Custom" category.
+
+.. _class_VisualShaderNodeCustom_method__get_code:
+
+- :ref:`String<class_String>` **_get_code** **(** :ref:`Array<class_Array>` input_vars, :ref:`Array<class_Array>` output_vars, :ref:`int<class_int>` mode, :ref:`int<class_int>` type **)** virtual
+
+Override this method to define the actual shader code of the associated custom node. The shader code should be returned as a string, which can have multiple lines (the ``"""`` multiline string construct can be used for convenience).
+
+The ``input_vars`` and ``output_vars`` arrays contain the string names of the various input and output variables, as defined by ``_get_input_*`` and ``_get_output_*`` virtual methods in this class.
+
+The output ports can be assigned values in the shader code. For example, ``return output_vars[0] + " = " + input_vars[0] + ";"``.
+
+You can customize the generated code based on the shader ``mode`` (see :ref:`Mode<enum_Shader_Mode>`) and/or ``type`` (see :ref:`Type<enum_VisualShader_Type>`).
+
+Defining this method is **required**.
+
+.. _class_VisualShaderNodeCustom_method__get_description:
+
+- :ref:`String<class_String>` **_get_description** **(** **)** virtual
+
+Override this method to define the description of the associated custom node in the Visual Shader Editor's members dialog.
+
+Defining this method is **optional**.
+
+.. _class_VisualShaderNodeCustom_method__get_global_code:
+
+- :ref:`String<class_String>` **_get_global_code** **(** :ref:`int<class_int>` mode **)** virtual
+
+Override this method to add shader code on top of the global shader, to define your own standard library of reusable methods, varyings, constants, uniforms, etc. The shader code should be returned as a string, which can have multiple lines (the ``"""`` multiline string construct can be used for convenience).
+
+Be careful with this functionality as it can cause name conflicts with other custom nodes, so be sure to give the defined entities unique names.
+
+You can customize the generated code based on the shader ``mode`` (see :ref:`Mode<enum_Shader_Mode>`).
+
+Defining this method is **optional**.
+
+.. _class_VisualShaderNodeCustom_method__get_input_port_count:
+
+- :ref:`int<class_int>` **_get_input_port_count** **(** **)** virtual
+
+Override this method to define the amount of input ports of the associated custom node.
+
+Defining this method is **required**. If not overridden, the node has no input ports.
+
+.. _class_VisualShaderNodeCustom_method__get_input_port_name:
+
+- :ref:`String<class_String>` **_get_input_port_name** **(** :ref:`int<class_int>` port **)** virtual
+
+Override this method to define the names of input ports of the associated custom node. The names are used both for the input slots in the editor and as identifiers in the shader code, and are passed in the ``input_vars`` array in :ref:`_get_code<class_VisualShaderNodeCustom_method__get_code>`.
+
+Defining this method is **optional**, but recommended. If not overridden, input ports are named as ``"in" + str(port)``.
+
+.. _class_VisualShaderNodeCustom_method__get_input_port_type:
+
+- :ref:`int<class_int>` **_get_input_port_type** **(** :ref:`int<class_int>` port **)** virtual
+
+Override this method to define the returned type of each input port of the associated custom node (see :ref:`PortType<enum_VisualShaderNode_PortType>` for possible types).
+
+Defining this method is **optional**, but recommended. If not overridden, input ports will return the :ref:`VisualShaderNode.PORT_TYPE_SCALAR<class_VisualShaderNode_constant_PORT_TYPE_SCALAR>` type.
+
+.. _class_VisualShaderNodeCustom_method__get_name:
+
+- :ref:`String<class_String>` **_get_name** **(** **)** virtual
+
+Override this method to define the name of the associated custom node in the Visual Shader Editor's members dialog and graph.
+
+Defining this method is **optional**, but recommended. If not overridden, the node will be named as "Unnamed".
+
+.. _class_VisualShaderNodeCustom_method__get_output_port_count:
+
+- :ref:`int<class_int>` **_get_output_port_count** **(** **)** virtual
+
+Override this method to define the amount of output ports of the associated custom node.
+
+Defining this method is **required**. If not overridden, the node has no output ports.
+
+.. _class_VisualShaderNodeCustom_method__get_output_port_name:
+
+- :ref:`String<class_String>` **_get_output_port_name** **(** :ref:`int<class_int>` port **)** virtual
+
+Override this method to define the names of output ports of the associated custom node. The names are used both for the output slots in the editor and as identifiers in the shader code, and are passed in the ``output_vars`` array in :ref:`_get_code<class_VisualShaderNodeCustom_method__get_code>`.
+
+Defining this method is **optional**, but recommended. If not overridden, output ports are named as ``"out" + str(port)``.
+
+.. _class_VisualShaderNodeCustom_method__get_output_port_type:
+
+- :ref:`int<class_int>` **_get_output_port_type** **(** :ref:`int<class_int>` port **)** virtual
+
+Override this method to define the returned type of each output port of the associated custom node (see :ref:`PortType<enum_VisualShaderNode_PortType>` for possible types).
+
+Defining this method is **optional**, but recommended. If not overridden, output ports will return the :ref:`VisualShaderNode.PORT_TYPE_SCALAR<class_VisualShaderNode_constant_PORT_TYPE_SCALAR>` type.
+
+.. _class_VisualShaderNodeCustom_method__get_return_icon_type:
+
+- :ref:`int<class_int>` **_get_return_icon_type** **(** **)** virtual
+
+Override this method to define the return icon of the associated custom node in the Visual Shader Editor's members dialog.
+
+Defining this method is **optional**. If not overridden, no return icon is shown.
+
+.. _class_VisualShaderNodeCustom_method__get_subcategory:
+
+- :ref:`String<class_String>` **_get_subcategory** **(** **)** virtual
+
+Override this method to define the subcategory of the associated custom node in the Visual Shader Editor's members dialog.
+
+Defining this method is **optional**. If not overridden, the node will be filed under the root of the main category (see :ref:`_get_category<class_VisualShaderNodeCustom_method__get_category>`).
+

+ 2 - 0
classes/class_visualshadernodeexpression.rst

@@ -11,6 +11,8 @@ VisualShaderNodeExpression
 
 **Inherits:** :ref:`VisualShaderNodeGroupBase<class_VisualShaderNodeGroupBase>` **<** :ref:`VisualShaderNode<class_VisualShaderNode>` **<** :ref:`Resource<class_Resource>` **<** :ref:`Reference<class_Reference>` **<** :ref:`Object<class_Object>`
 
+**Inherited By:** :ref:`VisualShaderNodeGlobalExpression<class_VisualShaderNodeGlobalExpression>`
+
 **Category:** Core
 
 Brief Description

+ 20 - 0
classes/class_visualshadernodeglobalexpression.rst

@@ -0,0 +1,20 @@
+:github_url: hide
+
+.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. DO NOT EDIT THIS FILE, but the VisualShaderNodeGlobalExpression.xml source instead.
+.. The source is found in doc/classes or modules/<name>/doc_classes.
+
+.. _class_VisualShaderNodeGlobalExpression:
+
+VisualShaderNodeGlobalExpression
+================================
+
+**Inherits:** :ref:`VisualShaderNodeExpression<class_VisualShaderNodeExpression>` **<** :ref:`VisualShaderNodeGroupBase<class_VisualShaderNodeGroupBase>` **<** :ref:`VisualShaderNode<class_VisualShaderNode>` **<** :ref:`Resource<class_Resource>` **<** :ref:`Reference<class_Reference>` **<** :ref:`Object<class_Object>`
+
+**Category:** Core
+
+Brief Description
+-----------------
+
+
+

+ 22 - 0
classes/class_visualshadernodegroupbase.rst

@@ -20,6 +20,13 @@ Brief Description
 
 
 
+Properties
+----------
+
++-------------------------+--------------------------------------------------------------------+-------+
+| :ref:`bool<class_bool>` | :ref:`editable<class_VisualShaderNodeGroupBase_property_editable>` | false |
++-------------------------+--------------------------------------------------------------------+-------+
+
 Methods
 -------
 
@@ -75,6 +82,21 @@ Methods
 | void                          | :ref:`set_size<class_VisualShaderNodeGroupBase_method_set_size>` **(** :ref:`Vector2<class_Vector2>` size **)**                                                                   |
 +-------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 
+Property Descriptions
+---------------------
+
+.. _class_VisualShaderNodeGroupBase_property_editable:
+
+- :ref:`bool<class_bool>` **editable**
+
++-----------+---------------------+
+| *Default* | false               |
++-----------+---------------------+
+| *Setter*  | set_editable(value) |
++-----------+---------------------+
+| *Getter*  | is_editable()       |
++-----------+---------------------+
+
 Method Descriptions
 -------------------
 

+ 20 - 0
classes/class_visualshadernodevectorscalarmix.rst

@@ -0,0 +1,20 @@
+:github_url: hide
+
+.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. DO NOT EDIT THIS FILE, but the VisualShaderNodeVectorScalarMix.xml source instead.
+.. The source is found in doc/classes or modules/<name>/doc_classes.
+
+.. _class_VisualShaderNodeVectorScalarMix:
+
+VisualShaderNodeVectorScalarMix
+===============================
+
+**Inherits:** :ref:`VisualShaderNode<class_VisualShaderNode>` **<** :ref:`Resource<class_Resource>` **<** :ref:`Reference<class_Reference>` **<** :ref:`Object<class_Object>`
+
+**Category:** Core
+
+Brief Description
+-----------------
+
+
+

+ 40 - 0
classes/class_x509certificate.rst

@@ -0,0 +1,40 @@
+:github_url: hide
+
+.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. DO NOT EDIT THIS FILE, but the X509Certificate.xml source instead.
+.. The source is found in doc/classes or modules/<name>/doc_classes.
+
+.. _class_X509Certificate:
+
+X509Certificate
+===============
+
+**Inherits:** :ref:`Resource<class_Resource>` **<** :ref:`Reference<class_Reference>` **<** :ref:`Object<class_Object>`
+
+**Category:** Core
+
+Brief Description
+-----------------
+
+
+
+Methods
+-------
+
++---------------------------------------+---------------------------------------------------------------------------------------------+
+| :ref:`Error<enum_@GlobalScope_Error>` | :ref:`load<class_X509Certificate_method_load>` **(** :ref:`String<class_String>` path **)** |
++---------------------------------------+---------------------------------------------------------------------------------------------+
+| :ref:`Error<enum_@GlobalScope_Error>` | :ref:`save<class_X509Certificate_method_save>` **(** :ref:`String<class_String>` path **)** |
++---------------------------------------+---------------------------------------------------------------------------------------------+
+
+Method Descriptions
+-------------------
+
+.. _class_X509Certificate_method_load:
+
+- :ref:`Error<enum_@GlobalScope_Error>` **load** **(** :ref:`String<class_String>` path **)**
+
+.. _class_X509Certificate_method_save:
+
+- :ref:`Error<enum_@GlobalScope_Error>` **save** **(** :ref:`String<class_String>` path **)**
+

Beberapa file tidak ditampilkan karena terlalu banyak file yang berubah dalam diff ini