瀏覽代碼

Sync classref with current source

Rémi Verschelde 6 年之前
父節點
當前提交
cebdb79eb5

+ 8 - 3
classes/[email protected]

@@ -90,7 +90,7 @@ Methods
 +-----------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +-----------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`int<class_int>`                                     | :ref:`len<class_@GDScript_method_len>` **(** :ref:`Variant<class_Variant>` var **)**                                                                                                                                                   |
 | :ref:`int<class_int>`                                     | :ref:`len<class_@GDScript_method_len>` **(** :ref:`Variant<class_Variant>` var **)**                                                                                                                                                   |
 +-----------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +-----------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`                                 | :ref:`lerp<class_@GDScript_method_lerp>` **(** :ref:`Variant<class_Variant>` from, :ref:`Variant<class_Variant>` to, :ref:`float<class_float>` weight **)**                                                                            |
+| :ref:`Variant<class_Variant>`                             | :ref:`lerp<class_@GDScript_method_lerp>` **(** :ref:`Variant<class_Variant>` from, :ref:`Variant<class_Variant>` to, :ref:`float<class_float>` weight **)**                                                                            |
 +-----------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +-----------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`float<class_float>`                                 | :ref:`linear2db<class_@GDScript_method_linear2db>` **(** :ref:`float<class_float>` nrg **)**                                                                                                                                           |
 | :ref:`float<class_float>`                                 | :ref:`linear2db<class_@GDScript_method_linear2db>` **(** :ref:`float<class_float>` nrg **)**                                                                                                                                           |
 +-----------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +-----------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
@@ -650,13 +650,18 @@ Returns length of Variant ``var``. Length is the character count of String, elem
 
 
 .. _class_@GDScript_method_lerp:
 .. _class_@GDScript_method_lerp:
 
 
-- :ref:`float<class_float>` **lerp** **(** :ref:`Variant<class_Variant>` from, :ref:`Variant<class_Variant>` to, :ref:`float<class_float>` weight **)**
+- :ref:`Variant<class_Variant>` **lerp** **(** :ref:`Variant<class_Variant>` from, :ref:`Variant<class_Variant>` to, :ref:`float<class_float>` weight **)**
 
 
 Linearly interpolates between two values by a normalized value.
 Linearly interpolates between two values by a normalized value.
 
 
+If the ``from`` and ``to`` arguments are of type :ref:`int<class_int>` or :ref:`float<class_float>`, the return value is a :ref:`float<class_float>`.
+
+If both are of the same vector type (:ref:`Vector2<class_Vector2>`, :ref:`Vector3<class_Vector3>` or :ref:`Color<class_Color>`), the return value will be of the same type (``lerp`` then calls the vector type's ``linear_interpolate`` method).
+
 ::
 ::
 
 
-    lerp(1, 3, 0.5) # returns 2
+    lerp(0, 4, 0.75) # returns 3.0
+    lerp(Vector2(1, 5), Vector2(3, 2), 0.5) # returns Vector2(2, 3.5)
 
 
 .. _class_@GDScript_method_linear2db:
 .. _class_@GDScript_method_linear2db:
 
 

+ 7 - 0
classes/class_animationnodeblendspace2d.rst

@@ -62,6 +62,13 @@ Methods
 | void                                              | :ref:`set_blend_point_position<class_AnimationNodeBlendSpace2D_method_set_blend_point_position>` **(** :ref:`int<class_int>` point, :ref:`Vector2<class_Vector2>` pos **)**                                             |
 | void                                              | :ref:`set_blend_point_position<class_AnimationNodeBlendSpace2D_method_set_blend_point_position>` **(** :ref:`int<class_int>` point, :ref:`Vector2<class_Vector2>` pos **)**                                             |
 +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 
 
+Signals
+-------
+
+.. _class_AnimationNodeBlendSpace2D_signal_triangles_updated:
+
+- **triangles_updated** **(** **)**
+
 Enumerations
 Enumerations
 ------------
 ------------
 
 

+ 3 - 3
classes/class_arvranchor.rst

@@ -41,9 +41,9 @@ Description
 
 
 The ARVR Anchor point is a spatial node that maps a real world location identified by the AR platform to a position within the game world. For example, as long as plane detection in ARKit is on, ARKit will identify and update the position of planes (tables, floors, etc) and create anchors for them.
 The ARVR Anchor point is a spatial node that maps a real world location identified by the AR platform to a position within the game world. For example, as long as plane detection in ARKit is on, ARKit will identify and update the position of planes (tables, floors, etc) and create anchors for them.
 
 
-This node is mapped to one of the anchors through its unique id. When you receive a signal that a new anchor is available you should add this node to your scene for that anchor. You can predefine nodes and set the id and the nodes will simply remain on 0,0,0 until a plane is recognised.
+This node is mapped to one of the anchors through its unique id. When you receive a signal that a new anchor is available, you should add this node to your scene for that anchor. You can predefine nodes and set the id and the nodes will simply remain on 0,0,0 until a plane is recognised.
 
 
-Keep in mind that as long as plane detection is enable the size, placing and orientation of an anchor will be updates as the detection logic learns more about the real world out there especially if only part of the surface is in view.
+Keep in mind that, as long as plane detection is enabled, the size, placing and orientation of an anchor will be updated as the detection logic learns more about the real world out there especially if only part of the surface is in view.
 
 
 Property Descriptions
 Property Descriptions
 ---------------------
 ---------------------
@@ -79,7 +79,7 @@ Returns true if the anchor is being tracked and false if no anchor with this id
 
 
 - :ref:`Plane<class_Plane>` **get_plane** **(** **)** const
 - :ref:`Plane<class_Plane>` **get_plane** **(** **)** const
 
 
-Returns a plane aligned with our anchor, handy for intersection testing
+Returns a plane aligned with our anchor; handy for intersection testing.
 
 
 .. _class_ARVRAnchor_method_get_size:
 .. _class_ARVRAnchor_method_get_size:
 
 

+ 3 - 3
classes/class_arvrcamera.rst

@@ -14,12 +14,12 @@ ARVRCamera
 Brief Description
 Brief Description
 -----------------
 -----------------
 
 
-A camera node with a few overrules for AR/VR applied such as location tracking.
+A camera node with a few overrules for AR/VR applied, such as location tracking.
 
 
 Description
 Description
 -----------
 -----------
 
 
-This is a helper spatial node for our camera, note that if stereoscopic rendering is applicable (VR-HMD) most of the camera properties are ignored as the HMD information overrides them. The only properties that can be trusted are the near and far planes.
+This is a helper spatial node for our camera; note that, if stereoscopic rendering is applicable (VR-HMD), most of the camera properties are ignored, as the HMD information overrides them. The only properties that can be trusted are the near and far planes.
 
 
-The position and orientation of this node is automatically updated by the ARVR Server to represent the location of the HMD if such tracking is available and can thus be used by game logic. Note that in contrast to the ARVR Controller the render thread has access to the most up to date tracking data of the HMD and the location of the ARVRCamera can lag a few milliseconds behind what is used for rendering as a result.
+The position and orientation of this node is automatically updated by the ARVR Server to represent the location of the HMD if such tracking is available and can thus be used by game logic. Note that, in contrast to the ARVR Controller, the render thread has access to the most up-to-date tracking data of the HMD and the location of the ARVRCamera can lag a few milliseconds behind what is used for rendering as a result.
 
 

+ 3 - 3
classes/class_arvrcontroller.rst

@@ -60,9 +60,9 @@ Emitted when a button on this controller is released.
 Description
 Description
 -----------
 -----------
 
 
-This is a helper spatial node that is linked to the tracking of controllers. It also offers several handy pass throughs to the state of buttons and such on the controllers.
+This is a helper spatial node that is linked to the tracking of controllers. It also offers several handy passthroughs to the state of buttons and such on the controllers.
 
 
-Controllers are linked by their id. You can create controller nodes before the controllers are available. Say your game always uses two controllers (one for each hand) you can predefine the controllers with id 1 and 2 and they will become active as soon as the controllers are identified. If you expect additional controllers to be used you should react to the signals and add ARVRController nodes to your scene.
+Controllers are linked by their id. You can create controller nodes before the controllers are available. Say your game always uses two controllers (one for each hand) you can predefine the controllers with id 1 and 2 and they will become active as soon as the controllers are identified. If you expect additional controllers to be used, you should react to the signals and add ARVRController nodes to your scene.
 
 
 The position of the controller node is automatically updated by the ARVR Server. This makes this node ideal to add child nodes to visualise the controller.
 The position of the controller node is automatically updated by the ARVR Server. This makes this node ideal to add child nodes to visualise the controller.
 
 
@@ -83,7 +83,7 @@ The controller's id.
 
 
 A controller id of 0 is unbound and will always result in an inactive node. Controller id 1 is reserved for the first controller that identifies itself as the left hand controller and id 2 is reserved for the first controller that identifies itself as the right hand controller.
 A controller id of 0 is unbound and will always result in an inactive node. Controller id 1 is reserved for the first controller that identifies itself as the left hand controller and id 2 is reserved for the first controller that identifies itself as the right hand controller.
 
 
-For any other controller that the :ref:`ARVRServer<class_ARVRServer>` detects we continue with controller id 3.
+For any other controller that the :ref:`ARVRServer<class_ARVRServer>` detects, we continue with controller id 3.
 
 
 When a controller is turned off, its slot is freed. This ensures controllers will keep the same id even when controllers with lower ids are turned off.
 When a controller is turned off, its slot is freed. This ensures controllers will keep the same id even when controllers with lower ids are turned off.
 
 

+ 1 - 1
classes/class_arvrorigin.rst

@@ -30,7 +30,7 @@ This is a special node within the AR/VR system that maps the physical location o
 
 
 There should be only one of these nodes in your scene and you must have one. All the ARVRCamera, ARVRController and ARVRAnchor nodes should be direct children of this node for spatial tracking to work correctly.
 There should be only one of these nodes in your scene and you must have one. All the ARVRCamera, ARVRController and ARVRAnchor nodes should be direct children of this node for spatial tracking to work correctly.
 
 
-It is the position of this node that you update when you're character needs to move through your game world while we're not moving in the real world. Movement in the real world is always in relation to this origin point.
+It is the position of this node that you update when your character needs to move through your game world while we're not moving in the real world. Movement in the real world is always in relation to this origin point.
 
 
 So say that your character is driving a car, the ARVROrigin node should be a child node of this car. If you implement a teleport system to move your character, you change the position of this node. Etc.
 So say that your character is driving a car, the ARVROrigin node should be a child node of this car. If you implement a teleport system to move your character, you change the position of this node. Etc.
 
 

+ 1 - 1
classes/class_arvrserver.rst

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

+ 12 - 0
classes/class_collisionobject2d.rst

@@ -35,6 +35,8 @@ Methods
 +---------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +---------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`RID<class_RID>`                 | :ref:`get_rid<class_CollisionObject2D_method_get_rid>` **(** **)** const                                                                                                                              |
 | :ref:`RID<class_RID>`                 | :ref:`get_rid<class_CollisionObject2D_method_get_rid>` **(** **)** const                                                                                                                              |
 +---------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +---------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`             | :ref:`get_shape_owner_one_way_collision_margin<class_CollisionObject2D_method_get_shape_owner_one_way_collision_margin>` **(** :ref:`int<class_int>` owner_id **)** const                             |
++---------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`Array<class_Array>`             | :ref:`get_shape_owners<class_CollisionObject2D_method_get_shape_owners>` **(** **)**                                                                                                                  |
 | :ref:`Array<class_Array>`             | :ref:`get_shape_owners<class_CollisionObject2D_method_get_shape_owners>` **(** **)**                                                                                                                  |
 +---------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +---------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`bool<class_bool>`               | :ref:`is_shape_owner_disabled<class_CollisionObject2D_method_is_shape_owner_disabled>` **(** :ref:`int<class_int>` owner_id **)** const                                                               |
 | :ref:`bool<class_bool>`               | :ref:`is_shape_owner_disabled<class_CollisionObject2D_method_is_shape_owner_disabled>` **(** :ref:`int<class_int>` owner_id **)** const                                                               |
@@ -65,6 +67,8 @@ Methods
 +---------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +---------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                  | :ref:`shape_owner_set_one_way_collision<class_CollisionObject2D_method_shape_owner_set_one_way_collision>` **(** :ref:`int<class_int>` owner_id, :ref:`bool<class_bool>` enable **)**                 |
 | void                                  | :ref:`shape_owner_set_one_way_collision<class_CollisionObject2D_method_shape_owner_set_one_way_collision>` **(** :ref:`int<class_int>` owner_id, :ref:`bool<class_bool>` enable **)**                 |
 +---------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +---------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                  | :ref:`shape_owner_set_one_way_collision_margin<class_CollisionObject2D_method_shape_owner_set_one_way_collision_margin>` **(** :ref:`int<class_int>` owner_id, :ref:`float<class_float>` margin **)** |
++---------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                  | :ref:`shape_owner_set_transform<class_CollisionObject2D_method_shape_owner_set_transform>` **(** :ref:`int<class_int>` owner_id, :ref:`Transform2D<class_Transform2D>` transform **)**                |
 | void                                  | :ref:`shape_owner_set_transform<class_CollisionObject2D_method_shape_owner_set_transform>` **(** :ref:`int<class_int>` owner_id, :ref:`Transform2D<class_Transform2D>` transform **)**                |
 +---------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +---------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 
 
@@ -130,6 +134,10 @@ Creates a new shape owner for the given object. Returns ``owner_id`` of the new
 
 
 Returns the object's :ref:`RID<class_RID>`.
 Returns the object's :ref:`RID<class_RID>`.
 
 
+.. _class_CollisionObject2D_method_get_shape_owner_one_way_collision_margin:
+
+- :ref:`float<class_float>` **get_shape_owner_one_way_collision_margin** **(** :ref:`int<class_int>` owner_id **)** const
+
 .. _class_CollisionObject2D_method_get_shape_owners:
 .. _class_CollisionObject2D_method_get_shape_owners:
 
 
 - :ref:`Array<class_Array>` **get_shape_owners** **(** **)**
 - :ref:`Array<class_Array>` **get_shape_owners** **(** **)**
@@ -220,6 +228,10 @@ If ``true``, disables the given shape owner.
 
 
 If ``enable`` is ``true``, collisions for the shape owner originating from this ``CollisionObject2D`` will not be reported to collided with ``CollisionObject2D``\ s.
 If ``enable`` is ``true``, collisions for the shape owner originating from this ``CollisionObject2D`` will not be reported to collided with ``CollisionObject2D``\ s.
 
 
+.. _class_CollisionObject2D_method_shape_owner_set_one_way_collision_margin:
+
+- void **shape_owner_set_one_way_collision_margin** **(** :ref:`int<class_int>` owner_id, :ref:`float<class_float>` margin **)**
+
 .. _class_CollisionObject2D_method_shape_owner_set_transform:
 .. _class_CollisionObject2D_method_shape_owner_set_transform:
 
 
 - void **shape_owner_set_transform** **(** :ref:`int<class_int>` owner_id, :ref:`Transform2D<class_Transform2D>` transform **)**
 - void **shape_owner_set_transform** **(** :ref:`int<class_int>` owner_id, :ref:`Transform2D<class_Transform2D>` transform **)**

+ 21 - 9
classes/class_collisionpolygon2d.rst

@@ -19,15 +19,17 @@ Defines a 2D collision polygon.
 Properties
 Properties
 ----------
 ----------
 
 
-+-----------------------------------------------------+-------------------------------------------------------------------------------+
-| :ref:`BuildMode<enum_CollisionPolygon2D_BuildMode>` | :ref:`build_mode<class_CollisionPolygon2D_property_build_mode>`               |
-+-----------------------------------------------------+-------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                             | :ref:`disabled<class_CollisionPolygon2D_property_disabled>`                   |
-+-----------------------------------------------------+-------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                             | :ref:`one_way_collision<class_CollisionPolygon2D_property_one_way_collision>` |
-+-----------------------------------------------------+-------------------------------------------------------------------------------+
-| :ref:`PoolVector2Array<class_PoolVector2Array>`     | :ref:`polygon<class_CollisionPolygon2D_property_polygon>`                     |
-+-----------------------------------------------------+-------------------------------------------------------------------------------+
++-----------------------------------------------------+---------------------------------------------------------------------------------------------+
+| :ref:`BuildMode<enum_CollisionPolygon2D_BuildMode>` | :ref:`build_mode<class_CollisionPolygon2D_property_build_mode>`                             |
++-----------------------------------------------------+---------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                             | :ref:`disabled<class_CollisionPolygon2D_property_disabled>`                                 |
++-----------------------------------------------------+---------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                             | :ref:`one_way_collision<class_CollisionPolygon2D_property_one_way_collision>`               |
++-----------------------------------------------------+---------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`                           | :ref:`one_way_collision_margin<class_CollisionPolygon2D_property_one_way_collision_margin>` |
++-----------------------------------------------------+---------------------------------------------------------------------------------------------+
+| :ref:`PoolVector2Array<class_PoolVector2Array>`     | :ref:`polygon<class_CollisionPolygon2D_property_polygon>`                                   |
++-----------------------------------------------------+---------------------------------------------------------------------------------------------+
 
 
 Enumerations
 Enumerations
 ------------
 ------------
@@ -88,6 +90,16 @@ If ``true``, no collisions will be detected.
 
 
 If ``true``, only edges that face up, relative to CollisionPolygon2D's rotation, will collide with other objects.
 If ``true``, only edges that face up, relative to CollisionPolygon2D's rotation, will collide with other objects.
 
 
+.. _class_CollisionPolygon2D_property_one_way_collision_margin:
+
+- :ref:`float<class_float>` **one_way_collision_margin**
+
++----------+-------------------------------------+
+| *Setter* | set_one_way_collision_margin(value) |
++----------+-------------------------------------+
+| *Getter* | get_one_way_collision_margin()      |
++----------+-------------------------------------+
+
 .. _class_CollisionPolygon2D_property_polygon:
 .. _class_CollisionPolygon2D_property_polygon:
 
 
 - :ref:`PoolVector2Array<class_PoolVector2Array>` **polygon**
 - :ref:`PoolVector2Array<class_PoolVector2Array>` **polygon**

+ 19 - 7
classes/class_collisionshape2d.rst

@@ -19,13 +19,15 @@ Node that represents collision shape data in 2D space.
 Properties
 Properties
 ----------
 ----------
 
 
-+-------------------------------+-----------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`       | :ref:`disabled<class_CollisionShape2D_property_disabled>`                   |
-+-------------------------------+-----------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`       | :ref:`one_way_collision<class_CollisionShape2D_property_one_way_collision>` |
-+-------------------------------+-----------------------------------------------------------------------------+
-| :ref:`Shape2D<class_Shape2D>` | :ref:`shape<class_CollisionShape2D_property_shape>`                         |
-+-------------------------------+-----------------------------------------------------------------------------+
++-------------------------------+-------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`       | :ref:`disabled<class_CollisionShape2D_property_disabled>`                                 |
++-------------------------------+-------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`       | :ref:`one_way_collision<class_CollisionShape2D_property_one_way_collision>`               |
++-------------------------------+-------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`     | :ref:`one_way_collision_margin<class_CollisionShape2D_property_one_way_collision_margin>` |
++-------------------------------+-------------------------------------------------------------------------------------------+
+| :ref:`Shape2D<class_Shape2D>` | :ref:`shape<class_CollisionShape2D_property_shape>`                                       |
++-------------------------------+-------------------------------------------------------------------------------------------+
 
 
 Description
 Description
 -----------
 -----------
@@ -64,6 +66,16 @@ A disabled collision shape has no effect in the world.
 
 
 Sets whether this collision shape should only detect collision on one side (top or bottom).
 Sets whether this collision shape should only detect collision on one side (top or bottom).
 
 
+.. _class_CollisionShape2D_property_one_way_collision_margin:
+
+- :ref:`float<class_float>` **one_way_collision_margin**
+
++----------+-------------------------------------+
+| *Setter* | set_one_way_collision_margin(value) |
++----------+-------------------------------------+
+| *Getter* | get_one_way_collision_margin()      |
++----------+-------------------------------------+
+
 .. _class_CollisionShape2D_property_shape:
 .. _class_CollisionShape2D_property_shape:
 
 
 - :ref:`Shape2D<class_Shape2D>` **shape**
 - :ref:`Shape2D<class_Shape2D>` **shape**

+ 4 - 4
classes/class_control.rst

@@ -484,11 +484,11 @@ enum **SizeFlags**:
 
 
 enum **MouseFilter**:
 enum **MouseFilter**:
 
 
-- **MOUSE_FILTER_STOP** = **0** --- The control will receive mouse button input events through :ref:`_gui_input<class_Control_method__gui_input>` if clicked on. These events are automatically marked as handled and they will not propagate further to other controls.
+- **MOUSE_FILTER_STOP** = **0** --- The control will receive mouse button input events through :ref:`_gui_input<class_Control_method__gui_input>` if clicked on. And the control will receive the :ref:`mouse_entered<class_Control_signal_mouse_entered>` and :ref:`mouse_exited<class_Control_signal_mouse_exited>` signals. These events are automatically marked as handled and they will not propagate further to other controls. This also results in blocking signals in other controls.
 
 
-- **MOUSE_FILTER_PASS** = **1** --- The control will receive mouse button input events through :ref:`_gui_input<class_Control_method__gui_input>` if clicked on. If this control does not handle the event, the parent control (if any) will be considered for a mouse click, and so on until there is no more parent control to potentially handle it. Even if no control handled it at all, the event will still be handled automatically, so unhandled input will not be fired.
+- **MOUSE_FILTER_PASS** = **1** --- The control will receive mouse button input events through :ref:`_gui_input<class_Control_method__gui_input>` if clicked on. And the control will receive the :ref:`mouse_entered<class_Control_signal_mouse_entered>` and :ref:`mouse_exited<class_Control_signal_mouse_exited>` signals. If this control does not handle the event, the parent control (if any) will be considered, and so on until there is no more parent control to potentially handle it. This also allows signals to fire in other controls. Even if no control handled it at all, the event will still be handled automatically, so unhandled input will not be fired.
 
 
-- **MOUSE_FILTER_IGNORE** = **2** --- The control will not receive mouse button input events through :ref:`_gui_input<class_Control_method__gui_input>` and will not block other controls from receiving these events. These events will also not be handled automatically.
+- **MOUSE_FILTER_IGNORE** = **2** --- The control will not receive mouse button input events through :ref:`_gui_input<class_Control_method__gui_input>`. Also the control will not receive the :ref:`mouse_entered<class_Control_signal_mouse_entered>` nor :ref:`mouse_exited<class_Control_signal_mouse_exited>` signals. This will not block other controls from receiving these events or firing the signals. Ignored events will not be handled automatically.
 
 
 .. _enum_Control_GrowDirection:
 .. _enum_Control_GrowDirection:
 
 
@@ -826,7 +826,7 @@ The default cursor shape for this control. Useful for Godot plugins and applicat
 | *Getter* | get_mouse_filter()      |
 | *Getter* | get_mouse_filter()      |
 +----------+-------------------------+
 +----------+-------------------------+
 
 
-Controls whether the control will be able to receive mouse button input events through :ref:`_gui_input<class_Control_method__gui_input>` and how these events should be handled. See the constants to learn what each does.
+Controls whether the control will be able to receive mouse button input events through :ref:`_gui_input<class_Control_method__gui_input>` and how these events should be handled. Also controls whether the control can receive the :ref:`mouse_entered<class_Control_signal_mouse_entered>`, and :ref:`mouse_exited<class_Control_signal_mouse_exited>` signals. See the constants to learn what each does.
 
 
 .. _class_Control_property_rect_clip_content:
 .. _class_Control_property_rect_clip_content:
 
 

+ 2 - 2
classes/class_curve3d.rst

@@ -108,7 +108,7 @@ The distance in meters between two adjacent cached points. Changing it forces th
 | *Getter* | is_up_vector_enabled()       |
 | *Getter* | is_up_vector_enabled()       |
 +----------+------------------------------+
 +----------+------------------------------+
 
 
-If ``true``, the curve will bake up vectors used for orientation. See :ref:`OrientedPathFollow<class_OrientedPathFollow>`. Changing it forces the cache to be recomputed.
+If ``true``, the curve will bake up vectors used for orientation. This is used when a :ref:`PathFollow.rotation_mode<class_PathFollow_property_rotation_mode>` is set to ``ROTATION_ORIENTED``, see :ref:`PathFollow<class_PathFollow>` for details. Changing it forces the cache to be recomputed.
 
 
 Method Descriptions
 Method Descriptions
 -------------------
 -------------------
@@ -263,7 +263,7 @@ Sets the position for the vertex ``idx``. If the index is out of bounds, the fun
 
 
 Sets the tilt angle in radians for the point ``idx``. If the index is out of bounds, the function sends an error to the console.
 Sets the tilt angle in radians for the point ``idx``. If the index is out of bounds, the function sends an error to the console.
 
 
-The tilt controls the rotation along the look-at axis an object traveling the path would have. In the case of a curve controlling a :ref:`PathFollow<class_PathFollow>` or :ref:`OrientedPathFollow<class_OrientedPathFollow>`, this tilt is an offset over the natural tilt the :ref:`PathFollow<class_PathFollow>` or :ref:`OrientedPathFollow<class_OrientedPathFollow>` calculates.
+The tilt controls the rotation along the look-at axis an object traveling the path would have. In the case of a curve controlling a :ref:`PathFollow<class_PathFollow>`, this tilt is an offset over the natural tilt the :ref:`PathFollow<class_PathFollow>` calculates.
 
 
 .. _class_Curve3D_method_tessellate:
 .. _class_Curve3D_method_tessellate:
 
 

+ 15 - 9
classes/class_editorproperty.rst

@@ -36,15 +36,17 @@ Properties
 Methods
 Methods
 -------
 -------
 
 
-+-----------------------------+-----------------------------------------------------------------------------------------+
-| :ref:`Object<class_Object>` | :ref:`get_edited_object<class_EditorProperty_method_get_edited_object>` **(** **)**     |
-+-----------------------------+-----------------------------------------------------------------------------------------+
-| :ref:`String<class_String>` | :ref:`get_edited_property<class_EditorProperty_method_get_edited_property>` **(** **)** |
-+-----------------------------+-----------------------------------------------------------------------------------------+
-| :ref:`String<class_String>` | :ref:`get_tooltip_text<class_EditorProperty_method_get_tooltip_text>` **(** **)** const |
-+-----------------------------+-----------------------------------------------------------------------------------------+
-| void                        | :ref:`update_property<class_EditorProperty_method_update_property>` **(** **)** virtual |
-+-----------------------------+-----------------------------------------------------------------------------------------+
++-----------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                        | :ref:`emit_changed<class_EditorProperty_method_emit_changed>` **(** :ref:`String<class_String>` property, :ref:`Variant<class_Variant>` value, :ref:`String<class_String>` field="", :ref:`bool<class_bool>` changing=false **)** |
++-----------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Object<class_Object>` | :ref:`get_edited_object<class_EditorProperty_method_get_edited_object>` **(** **)**                                                                                                                                               |
++-----------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_String>` | :ref:`get_edited_property<class_EditorProperty_method_get_edited_property>` **(** **)**                                                                                                                                           |
++-----------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_String>` | :ref:`get_tooltip_text<class_EditorProperty_method_get_tooltip_text>` **(** **)** const                                                                                                                                           |
++-----------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                        | :ref:`update_property<class_EditorProperty_method_update_property>` **(** **)** virtual                                                                                                                                           |
++-----------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 
 
 Signals
 Signals
 -------
 -------
@@ -147,6 +149,10 @@ Property Descriptions
 Method Descriptions
 Method Descriptions
 -------------------
 -------------------
 
 
+.. _class_EditorProperty_method_emit_changed:
+
+- void **emit_changed** **(** :ref:`String<class_String>` property, :ref:`Variant<class_Variant>` value, :ref:`String<class_String>` field="", :ref:`bool<class_bool>` changing=false **)**
+
 .. _class_EditorProperty_method_get_edited_object:
 .. _class_EditorProperty_method_get_edited_object:
 
 
 - :ref:`Object<class_Object>` **get_edited_object** **(** **)**
 - :ref:`Object<class_Object>` **get_edited_object** **(** **)**

+ 2 - 0
classes/class_file.rst

@@ -224,6 +224,8 @@ Returns ``true`` if the file cursor has reached the end of the file.
 
 
 Returns ``true`` if the file exists in the given path.
 Returns ``true`` if the file exists in the given path.
 
 
+Note that many resources types are imported (e.g. textures or sound files), and that their source asset will not be included in the exported game, as only the imported version is used (in the ``res://.import`` folder). To check for the existence of such resources while taking into account the remapping to their imported location, use :ref:`ResourceLoader.exists<class_ResourceLoader_method_exists>`. Typically, using ``File.file_exists`` on an imported resource would work while you are developing in the editor (the source asset is present in ``res://``, but fail when exported).
+
 .. _class_File_method_get_16:
 .. _class_File_method_get_16:
 
 
 - :ref:`int<class_int>` **get_16** **(** **)** const
 - :ref:`int<class_int>` **get_16** **(** **)** const

+ 1 - 1
classes/class_inputevent.rst

@@ -9,7 +9,7 @@ InputEvent
 
 
 **Inherits:** :ref:`Resource<class_Resource>` **<** :ref:`Reference<class_Reference>` **<** :ref:`Object<class_Object>`
 **Inherits:** :ref:`Resource<class_Resource>` **<** :ref:`Reference<class_Reference>` **<** :ref:`Object<class_Object>`
 
 
-**Inherited By:** :ref:`InputEventAction<class_InputEventAction>`, :ref:`InputEventJoypadButton<class_InputEventJoypadButton>`, :ref:`InputEventJoypadMotion<class_InputEventJoypadMotion>`, :ref:`InputEventScreenDrag<class_InputEventScreenDrag>`, :ref:`InputEventScreenTouch<class_InputEventScreenTouch>`, :ref:`InputEventWithModifiers<class_InputEventWithModifiers>`
+**Inherited By:** :ref:`InputEventAction<class_InputEventAction>`, :ref:`InputEventJoypadButton<class_InputEventJoypadButton>`, :ref:`InputEventJoypadMotion<class_InputEventJoypadMotion>`, :ref:`InputEventMIDI<class_InputEventMIDI>`, :ref:`InputEventScreenDrag<class_InputEventScreenDrag>`, :ref:`InputEventScreenTouch<class_InputEventScreenTouch>`, :ref:`InputEventWithModifiers<class_InputEventWithModifiers>`
 
 
 **Category:** Core
 **Category:** Core
 
 

+ 122 - 0
classes/class_inputeventmidi.rst

@@ -0,0 +1,122 @@
+.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. DO NOT EDIT THIS FILE, but the InputEventMIDI.xml source instead.
+.. The source is found in doc/classes or modules/<name>/doc_classes.
+
+.. _class_InputEventMIDI:
+
+InputEventMIDI
+==============
+
+**Inherits:** :ref:`InputEvent<class_InputEvent>` **<** :ref:`Resource<class_Resource>` **<** :ref:`Reference<class_Reference>` **<** :ref:`Object<class_Object>`
+
+**Category:** Core
+
+Brief Description
+-----------------
+
+
+
+Properties
+----------
+
++-----------------------+---------------------------------------------------------------------------+
+| :ref:`int<class_int>` | :ref:`channel<class_InputEventMIDI_property_channel>`                     |
++-----------------------+---------------------------------------------------------------------------+
+| :ref:`int<class_int>` | :ref:`controller_number<class_InputEventMIDI_property_controller_number>` |
++-----------------------+---------------------------------------------------------------------------+
+| :ref:`int<class_int>` | :ref:`controller_value<class_InputEventMIDI_property_controller_value>`   |
++-----------------------+---------------------------------------------------------------------------+
+| :ref:`int<class_int>` | :ref:`instrument<class_InputEventMIDI_property_instrument>`               |
++-----------------------+---------------------------------------------------------------------------+
+| :ref:`int<class_int>` | :ref:`message<class_InputEventMIDI_property_message>`                     |
++-----------------------+---------------------------------------------------------------------------+
+| :ref:`int<class_int>` | :ref:`pitch<class_InputEventMIDI_property_pitch>`                         |
++-----------------------+---------------------------------------------------------------------------+
+| :ref:`int<class_int>` | :ref:`pressure<class_InputEventMIDI_property_pressure>`                   |
++-----------------------+---------------------------------------------------------------------------+
+| :ref:`int<class_int>` | :ref:`velocity<class_InputEventMIDI_property_velocity>`                   |
++-----------------------+---------------------------------------------------------------------------+
+
+Property Descriptions
+---------------------
+
+.. _class_InputEventMIDI_property_channel:
+
+- :ref:`int<class_int>` **channel**
+
++----------+--------------------+
+| *Setter* | set_channel(value) |
++----------+--------------------+
+| *Getter* | get_channel()      |
++----------+--------------------+
+
+.. _class_InputEventMIDI_property_controller_number:
+
+- :ref:`int<class_int>` **controller_number**
+
++----------+------------------------------+
+| *Setter* | set_controller_number(value) |
++----------+------------------------------+
+| *Getter* | get_controller_number()      |
++----------+------------------------------+
+
+.. _class_InputEventMIDI_property_controller_value:
+
+- :ref:`int<class_int>` **controller_value**
+
++----------+-----------------------------+
+| *Setter* | set_controller_value(value) |
++----------+-----------------------------+
+| *Getter* | get_controller_value()      |
++----------+-----------------------------+
+
+.. _class_InputEventMIDI_property_instrument:
+
+- :ref:`int<class_int>` **instrument**
+
++----------+-----------------------+
+| *Setter* | set_instrument(value) |
++----------+-----------------------+
+| *Getter* | get_instrument()      |
++----------+-----------------------+
+
+.. _class_InputEventMIDI_property_message:
+
+- :ref:`int<class_int>` **message**
+
++----------+--------------------+
+| *Setter* | set_message(value) |
++----------+--------------------+
+| *Getter* | get_message()      |
++----------+--------------------+
+
+.. _class_InputEventMIDI_property_pitch:
+
+- :ref:`int<class_int>` **pitch**
+
++----------+------------------+
+| *Setter* | set_pitch(value) |
++----------+------------------+
+| *Getter* | get_pitch()      |
++----------+------------------+
+
+.. _class_InputEventMIDI_property_pressure:
+
+- :ref:`int<class_int>` **pressure**
+
++----------+---------------------+
+| *Setter* | set_pressure(value) |
++----------+---------------------+
+| *Getter* | get_pressure()      |
++----------+---------------------+
+
+.. _class_InputEventMIDI_property_velocity:
+
+- :ref:`int<class_int>` **velocity**
+
++----------+---------------------+
+| *Setter* | set_velocity(value) |
++----------+---------------------+
+| *Getter* | get_velocity()      |
++----------+---------------------+
+

+ 1 - 1
classes/class_kinematicbody.rst

@@ -172,7 +172,7 @@ If ``test_only`` is ``true``, the body does not move but the would-be collision
 
 
 Moves the body along a vector. If the body collides with another, it will slide along the other body rather than stop immediately. If the other body is a ``KinematicBody`` or :ref:`RigidBody<class_RigidBody>`, it will also be affected by the motion of the other body. You can use this to make moving or rotating platforms, or to make nodes push other nodes.
 Moves the body along a vector. If the body collides with another, it will slide along the other body rather than stop immediately. If the other body is a ``KinematicBody`` or :ref:`RigidBody<class_RigidBody>`, it will also be affected by the motion of the other body. You can use this to make moving or rotating platforms, or to make nodes push other nodes.
 
 
-``linear_velocity`` is a value in pixels per second. Unlike in for example :ref:`move_and_collide<class_KinematicBody_method_move_and_collide>`, you should *not* multiply it by ``delta`` — this is done by the method.
+``linear_velocity`` is the velocity vector (typically meters per second). Unlike in :ref:`move_and_collide<class_KinematicBody_method_move_and_collide>`, you should *not* multiply it by ``delta`` — the physics engine handles applying the velocity.
 
 
 ``floor_normal`` is the up direction, used to determine what is a wall and what is a floor or a ceiling. If set to the default value of ``Vector3(0, 0, 0)``, everything is considered a wall. This is useful for topdown games.
 ``floor_normal`` is the up direction, used to determine what is a wall and what is a floor or a ceiling. If set to the default value of ``Vector3(0, 0, 0)``, everything is considered a wall. This is useful for topdown games.
 
 

+ 2 - 2
classes/class_kinematicbody2d.rst

@@ -137,7 +137,7 @@ Moves the body along the vector ``rel_vec``. The body will stop if it collides.
 
 
 Moves the body along a vector. If the body collides with another, it will slide along the other body rather than stop immediately. If the other body is a ``KinematicBody2D`` or :ref:`RigidBody2D<class_RigidBody2D>`, it will also be affected by the motion of the other body. You can use this to make moving or rotating platforms, or to make nodes push other nodes.
 Moves the body along a vector. If the body collides with another, it will slide along the other body rather than stop immediately. If the other body is a ``KinematicBody2D`` or :ref:`RigidBody2D<class_RigidBody2D>`, it will also be affected by the motion of the other body. You can use this to make moving or rotating platforms, or to make nodes push other nodes.
 
 
-``linear_velocity`` is a value in pixels per second. Unlike in for example :ref:`move_and_collide<class_KinematicBody2D_method_move_and_collide>`, you should *not* multiply it by ``delta`` — this is done by the method.
+``linear_velocity`` is the velocity vector in pixels per second. Unlike in :ref:`move_and_collide<class_KinematicBody2D_method_move_and_collide>`, you should *not* multiply it by ``delta`` — the physics engine handles applying the velocity.
 
 
 ``floor_normal`` is the up direction, used to determine what is a wall and what is a floor or a ceiling. If set to the default value of ``Vector2(0, 0)``, everything is considered a wall. This is useful for topdown games.
 ``floor_normal`` is the up direction, used to determine what is a wall and what is a floor or a ceiling. If set to the default value of ``Vector2(0, 0)``, everything is considered a wall. This is useful for topdown games.
 
 
@@ -147,7 +147,7 @@ If the body collides, it will change direction a maximum of ``max_slides`` times
 
 
 ``floor_max_angle`` is the maximum angle (in radians) where a slope is still considered a floor (or a ceiling), rather than a wall. The default value equals 45 degrees.
 ``floor_max_angle`` is the maximum angle (in radians) where a slope is still considered a floor (or a ceiling), rather than a wall. The default value equals 45 degrees.
 
 
-Returns the movement that remained when the body stopped. To get more detailed information about collisions that occurred, use :ref:`get_slide_collision<class_KinematicBody2D_method_get_slide_collision>`.
+Returns the ``linear_velocity`` vector, rotated and/or scaled if a slide collision occurred. To get more detailed information about collisions that occurred, use :ref:`get_slide_collision<class_KinematicBody2D_method_get_slide_collision>`.
 
 
 .. _class_KinematicBody2D_method_move_and_slide_with_snap:
 .. _class_KinematicBody2D_method_move_and_slide_with_snap:
 
 

+ 0 - 121
classes/class_orientedpathfollow.rst

@@ -1,121 +0,0 @@
-.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
-.. DO NOT EDIT THIS FILE, but the OrientedPathFollow.xml source instead.
-.. The source is found in doc/classes or modules/<name>/doc_classes.
-
-.. _class_OrientedPathFollow:
-
-OrientedPathFollow
-==================
-
-**Inherits:** :ref:`Spatial<class_Spatial>` **<** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>`
-
-**Category:** Core
-
-Brief Description
------------------
-
-Oriented point sampler for a :ref:`Path<class_Path>`.
-
-Properties
-----------
-
-+---------------------------+---------------------------------------------------------------------+
-| :ref:`bool<class_bool>`   | :ref:`cubic_interp<class_OrientedPathFollow_property_cubic_interp>` |
-+---------------------------+---------------------------------------------------------------------+
-| :ref:`float<class_float>` | :ref:`h_offset<class_OrientedPathFollow_property_h_offset>`         |
-+---------------------------+---------------------------------------------------------------------+
-| :ref:`bool<class_bool>`   | :ref:`loop<class_OrientedPathFollow_property_loop>`                 |
-+---------------------------+---------------------------------------------------------------------+
-| :ref:`float<class_float>` | :ref:`offset<class_OrientedPathFollow_property_offset>`             |
-+---------------------------+---------------------------------------------------------------------+
-| :ref:`float<class_float>` | :ref:`unit_offset<class_OrientedPathFollow_property_unit_offset>`   |
-+---------------------------+---------------------------------------------------------------------+
-| :ref:`float<class_float>` | :ref:`v_offset<class_OrientedPathFollow_property_v_offset>`         |
-+---------------------------+---------------------------------------------------------------------+
-
-Description
------------
-
-This node behaves like :ref:`PathFollow<class_PathFollow>`, except it uses its parent :ref:`Path<class_Path>` up vector information to enforce orientation.
-
-Make sure to check if the curve of this node's parent :ref:`Path<class_Path>` has up vectors enabled. See :ref:`PathFollow<class_PathFollow>` and :ref:`Curve3D<class_Curve3D>` for further information.
-
-Property Descriptions
----------------------
-
-.. _class_OrientedPathFollow_property_cubic_interp:
-
-- :ref:`bool<class_bool>` **cubic_interp**
-
-+----------+--------------------------------+
-| *Setter* | set_cubic_interpolation(value) |
-+----------+--------------------------------+
-| *Getter* | get_cubic_interpolation()      |
-+----------+--------------------------------+
-
-If ``true``, the position between two cached points is interpolated cubically, and linearly otherwise.
-
-The points along the :ref:`Curve3D<class_Curve3D>` of the :ref:`Path<class_Path>` are precomputed before use, for faster calculations. The point at the requested offset is then calculated interpolating between two adjacent cached points. This may present a problem if the curve makes sharp turns, as the cached points may not follow the curve closely enough.
-
-There are two answers to this problem: Either increase the number of cached points and increase memory consumption, or make a cubic interpolation between two points at the cost of (slightly) slower calculations.
-
-.. _class_OrientedPathFollow_property_h_offset:
-
-- :ref:`float<class_float>` **h_offset**
-
-+----------+---------------------+
-| *Setter* | set_h_offset(value) |
-+----------+---------------------+
-| *Getter* | get_h_offset()      |
-+----------+---------------------+
-
-The node's offset along the curve.
-
-.. _class_OrientedPathFollow_property_loop:
-
-- :ref:`bool<class_bool>` **loop**
-
-+----------+-----------------+
-| *Setter* | set_loop(value) |
-+----------+-----------------+
-| *Getter* | has_loop()      |
-+----------+-----------------+
-
-If ``true``, any offset outside the path's length will wrap around, instead of stopping at the ends. Use it for cyclic paths.
-
-.. _class_OrientedPathFollow_property_offset:
-
-- :ref:`float<class_float>` **offset**
-
-+----------+-------------------+
-| *Setter* | set_offset(value) |
-+----------+-------------------+
-| *Getter* | get_offset()      |
-+----------+-------------------+
-
-The distance from the first vertex, measured in 3D units along the path. This sets this node's position to a point within the path.
-
-.. _class_OrientedPathFollow_property_unit_offset:
-
-- :ref:`float<class_float>` **unit_offset**
-
-+----------+------------------------+
-| *Setter* | set_unit_offset(value) |
-+----------+------------------------+
-| *Getter* | get_unit_offset()      |
-+----------+------------------------+
-
-The distance from the first vertex, considering 0.0 as the first vertex and 1.0 as the last. This is just another way of expressing the offset within the path, as the offset supplied is multiplied internally by the path's length.
-
-.. _class_OrientedPathFollow_property_v_offset:
-
-- :ref:`float<class_float>` **v_offset**
-
-+----------+---------------------+
-| *Setter* | set_v_offset(value) |
-+----------+---------------------+
-| *Getter* | get_v_offset()      |
-+----------+---------------------+
-
-The node's offset perpendicular to the curve.
-

+ 10 - 0
classes/class_particles2d.rst

@@ -145,6 +145,8 @@ How rapidly particles in an emission cycle are emitted. If greater than ``0``, t
 | *Getter* | get_fixed_fps()      |
 | *Getter* | get_fixed_fps()      |
 +----------+----------------------+
 +----------+----------------------+
 
 
+The particle system's frame rate is fixed to a value. For instance, changing the value to 2 will make the particles render at 2 frames per second. Note this does not slow down the particle system itself.
+
 .. _class_Particles2D_property_fract_delta:
 .. _class_Particles2D_property_fract_delta:
 
 
 - :ref:`bool<class_bool>` **fract_delta**
 - :ref:`bool<class_bool>` **fract_delta**
@@ -155,6 +157,8 @@ How rapidly particles in an emission cycle are emitted. If greater than ``0``, t
 | *Getter* | get_fractional_delta()      |
 | *Getter* | get_fractional_delta()      |
 +----------+-----------------------------+
 +----------+-----------------------------+
 
 
+If ``true``, results in fractional delta calculation which has a smoother particles display effect. Default value: ``true``
+
 .. _class_Particles2D_property_lifetime:
 .. _class_Particles2D_property_lifetime:
 
 
 - :ref:`float<class_float>` **lifetime**
 - :ref:`float<class_float>` **lifetime**
@@ -189,6 +193,8 @@ If ``true``, particles use the parent node's coordinate space. If ``false``, the
 | *Getter* | get_normal_map()      |
 | *Getter* | get_normal_map()      |
 +----------+-----------------------+
 +----------+-----------------------+
 
 
+Normal map to be used for the ``texture`` property.
+
 .. _class_Particles2D_property_one_shot:
 .. _class_Particles2D_property_one_shot:
 
 
 - :ref:`bool<class_bool>` **one_shot**
 - :ref:`bool<class_bool>` **one_shot**
@@ -280,7 +286,11 @@ Method Descriptions
 
 
 - :ref:`Rect2<class_Rect2>` **capture_rect** **(** **)** const
 - :ref:`Rect2<class_Rect2>` **capture_rect** **(** **)** const
 
 
+Returns a rectangle containing the positions of all existing particles.
+
 .. _class_Particles2D_method_restart:
 .. _class_Particles2D_method_restart:
 
 
 - void **restart** **(** **)**
 - void **restart** **(** **)**
 
 
+Restarts all the existing particles.
+

+ 4 - 0
classes/class_pathfollow.rst

@@ -48,6 +48,8 @@ Enumerations
 
 
 .. _class_PathFollow_constant_ROTATION_XYZ:
 .. _class_PathFollow_constant_ROTATION_XYZ:
 
 
+.. _class_PathFollow_constant_ROTATION_ORIENTED:
+
 enum **RotationMode**:
 enum **RotationMode**:
 
 
 - **ROTATION_NONE** = **0** --- Forbids the PathFollow to rotate.
 - **ROTATION_NONE** = **0** --- Forbids the PathFollow to rotate.
@@ -58,6 +60,8 @@ enum **RotationMode**:
 
 
 - **ROTATION_XYZ** = **3** --- Allows the PathFollow to rotate in any axis.
 - **ROTATION_XYZ** = **3** --- Allows the PathFollow to rotate in any axis.
 
 
+- **ROTATION_ORIENTED** = **4** --- Uses the up vector information in a :ref:`Curve3D<class_Curve3D>` to enforce orientation. This rotation mode requires the :ref:`Path<class_Path>`'s :ref:`Curve3D.up_vector_enabled<class_Curve3D_property_up_vector_enabled>` property to be set to ``true``.
+
 Description
 Description
 -----------
 -----------
 
 

+ 2 - 2
classes/class_physics2dserver.rst

@@ -156,7 +156,7 @@ Methods
 +--------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                                                     | :ref:`body_set_shape<class_Physics2DServer_method_body_set_shape>` **(** :ref:`RID<class_RID>` body, :ref:`int<class_int>` shape_idx, :ref:`RID<class_RID>` shape **)**                                                                                                                                                                                         |
 | void                                                                     | :ref:`body_set_shape<class_Physics2DServer_method_body_set_shape>` **(** :ref:`RID<class_RID>` body, :ref:`int<class_int>` shape_idx, :ref:`RID<class_RID>` shape **)**                                                                                                                                                                                         |
 +--------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                                                     | :ref:`body_set_shape_as_one_way_collision<class_Physics2DServer_method_body_set_shape_as_one_way_collision>` **(** :ref:`RID<class_RID>` body, :ref:`int<class_int>` shape_idx, :ref:`bool<class_bool>` enable **)**                                                                                                                                            |
+| void                                                                     | :ref:`body_set_shape_as_one_way_collision<class_Physics2DServer_method_body_set_shape_as_one_way_collision>` **(** :ref:`RID<class_RID>` body, :ref:`int<class_int>` shape_idx, :ref:`bool<class_bool>` enable, :ref:`float<class_float>` margin **)**                                                                                                          |
 +--------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                                                     | :ref:`body_set_shape_disabled<class_Physics2DServer_method_body_set_shape_disabled>` **(** :ref:`RID<class_RID>` body, :ref:`int<class_int>` shape_idx, :ref:`bool<class_bool>` disable **)**                                                                                                                                                                   |
 | void                                                                     | :ref:`body_set_shape_disabled<class_Physics2DServer_method_body_set_shape_disabled>` **(** :ref:`RID<class_RID>` body, :ref:`int<class_int>` shape_idx, :ref:`bool<class_bool>` disable **)**                                                                                                                                                                   |
 +--------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +--------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
@@ -938,7 +938,7 @@ Substitutes a given body shape by another. The old shape is selected by its inde
 
 
 .. _class_Physics2DServer_method_body_set_shape_as_one_way_collision:
 .. _class_Physics2DServer_method_body_set_shape_as_one_way_collision:
 
 
-- void **body_set_shape_as_one_way_collision** **(** :ref:`RID<class_RID>` body, :ref:`int<class_int>` shape_idx, :ref:`bool<class_bool>` enable **)**
+- void **body_set_shape_as_one_way_collision** **(** :ref:`RID<class_RID>` body, :ref:`int<class_int>` shape_idx, :ref:`bool<class_bool>` enable, :ref:`float<class_float>` margin **)**
 
 
 Enables one way collision on body if ``enable`` is ``true``.
 Enables one way collision on body if ``enable`` is ``true``.
 
 

+ 10 - 0
classes/class_projectsettings.rst

@@ -454,6 +454,8 @@ Properties
 +-------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +-------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`float<class_float>`           | :ref:`rendering/limits/time/time_rollover_secs<class_ProjectSettings_property_rendering/limits/time/time_rollover_secs>`                                             |
 | :ref:`float<class_float>`           | :ref:`rendering/limits/time/time_rollover_secs<class_ProjectSettings_property_rendering/limits/time/time_rollover_secs>`                                             |
 +-------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +-------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`             | :ref:`rendering/quality/2d/gles2_use_nvidia_rect_flicker_workaround<class_ProjectSettings_property_rendering/quality/2d/gles2_use_nvidia_rect_flicker_workaround>`   |
++-------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`bool<class_bool>`             | :ref:`rendering/quality/2d/use_pixel_snap<class_ProjectSettings_property_rendering/quality/2d/use_pixel_snap>`                                                       |
 | :ref:`bool<class_bool>`             | :ref:`rendering/quality/2d/use_pixel_snap<class_ProjectSettings_property_rendering/quality/2d/use_pixel_snap>`                                                       |
 +-------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +-------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`String<class_String>`         | :ref:`rendering/quality/depth_prepass/disable_for_vendors<class_ProjectSettings_property_rendering/quality/depth_prepass/disable_for_vendors>`                       |
 | :ref:`String<class_String>`         | :ref:`rendering/quality/depth_prepass/disable_for_vendors<class_ProjectSettings_property_rendering/quality/depth_prepass/disable_for_vendors>`                       |
@@ -1594,6 +1596,14 @@ Max amount of elements renderable in a frame. If more than this are visible per
 
 
 Shaders have a time variable that constantly increases. At some point it needs to be rolled back to zero to avoid numerical errors on shader animations. This setting specifies when.
 Shaders have a time variable that constantly increases. At some point it needs to be rolled back to zero to avoid numerical errors on shader animations. This setting specifies when.
 
 
+.. _class_ProjectSettings_property_rendering/quality/2d/gles2_use_nvidia_rect_flicker_workaround:
+
+- :ref:`bool<class_bool>` **rendering/quality/2d/gles2_use_nvidia_rect_flicker_workaround**
+
+Some Nvidia GPU drivers have a bug, which produces flickering issues for the ``draw_rect`` method, especially as used in :ref:`TileMap<class_TileMap>`. Refer to https://github.com/godotengine/godot/issues/9913 for details.
+
+If ``true``, this option enables a "safe" code path for such Nvidia GPUs, at the cost of performance. This option only impacts the GLES2 rendering backend (so the bug stays if you use GLES3), and only desktop platforms. Default value: ``false``.
+
 .. _class_ProjectSettings_property_rendering/quality/2d/use_pixel_snap:
 .. _class_ProjectSettings_property_rendering/quality/2d/use_pixel_snap:
 
 
 - :ref:`bool<class_bool>` **rendering/quality/2d/use_pixel_snap**
 - :ref:`bool<class_bool>` **rendering/quality/2d/use_pixel_snap**

+ 11 - 11
classes/class_shape2d.rst

@@ -28,15 +28,15 @@ Properties
 Methods
 Methods
 -------
 -------
 
 
-+-------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`       | :ref:`collide<class_Shape2D_method_collide>` **(** :ref:`Transform2D<class_Transform2D>` local_xform, :ref:`Shape2D<class_Shape2D>` with_shape, :ref:`Transform2D<class_Transform2D>` shape_xform **)**                                                                                                                                                   |
-+-------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Variant<class_Variant>` | :ref:`collide_and_get_contacts<class_Shape2D_method_collide_and_get_contacts>` **(** :ref:`Transform2D<class_Transform2D>` local_xform, :ref:`Shape2D<class_Shape2D>` with_shape, :ref:`Transform2D<class_Transform2D>` shape_xform **)**                                                                                                                 |
-+-------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`       | :ref:`collide_with_motion<class_Shape2D_method_collide_with_motion>` **(** :ref:`Transform2D<class_Transform2D>` local_xform, :ref:`Vector2<class_Vector2>` local_motion, :ref:`Shape2D<class_Shape2D>` with_shape, :ref:`Transform2D<class_Transform2D>` shape_xform, :ref:`Vector2<class_Vector2>` shape_motion **)**                                   |
-+-------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Variant<class_Variant>` | :ref:`collide_with_motion_and_get_contacts<class_Shape2D_method_collide_with_motion_and_get_contacts>` **(** :ref:`Transform2D<class_Transform2D>` local_xform, :ref:`Vector2<class_Vector2>` local_motion, :ref:`Shape2D<class_Shape2D>` with_shape, :ref:`Transform2D<class_Transform2D>` shape_xform, :ref:`Vector2<class_Vector2>` shape_motion **)** |
-+-------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
++---------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`   | :ref:`collide<class_Shape2D_method_collide>` **(** :ref:`Transform2D<class_Transform2D>` local_xform, :ref:`Shape2D<class_Shape2D>` with_shape, :ref:`Transform2D<class_Transform2D>` shape_xform **)**                                                                                                                                                   |
++---------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Array<class_Array>` | :ref:`collide_and_get_contacts<class_Shape2D_method_collide_and_get_contacts>` **(** :ref:`Transform2D<class_Transform2D>` local_xform, :ref:`Shape2D<class_Shape2D>` with_shape, :ref:`Transform2D<class_Transform2D>` shape_xform **)**                                                                                                                 |
++---------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`   | :ref:`collide_with_motion<class_Shape2D_method_collide_with_motion>` **(** :ref:`Transform2D<class_Transform2D>` local_xform, :ref:`Vector2<class_Vector2>` local_motion, :ref:`Shape2D<class_Shape2D>` with_shape, :ref:`Transform2D<class_Transform2D>` shape_xform, :ref:`Vector2<class_Vector2>` shape_motion **)**                                   |
++---------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Array<class_Array>` | :ref:`collide_with_motion_and_get_contacts<class_Shape2D_method_collide_with_motion_and_get_contacts>` **(** :ref:`Transform2D<class_Transform2D>` local_xform, :ref:`Vector2<class_Vector2>` local_motion, :ref:`Shape2D<class_Shape2D>` with_shape, :ref:`Transform2D<class_Transform2D>` shape_xform, :ref:`Vector2<class_Vector2>` shape_motion **)** |
++---------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 
 
 Description
 Description
 -----------
 -----------
@@ -74,7 +74,7 @@ This method needs the transformation matrix for this shape (``local_xform``), th
 
 
 .. _class_Shape2D_method_collide_and_get_contacts:
 .. _class_Shape2D_method_collide_and_get_contacts:
 
 
-- :ref:`Variant<class_Variant>` **collide_and_get_contacts** **(** :ref:`Transform2D<class_Transform2D>` local_xform, :ref:`Shape2D<class_Shape2D>` with_shape, :ref:`Transform2D<class_Transform2D>` shape_xform **)**
+- :ref:`Array<class_Array>` **collide_and_get_contacts** **(** :ref:`Transform2D<class_Transform2D>` local_xform, :ref:`Shape2D<class_Shape2D>` with_shape, :ref:`Transform2D<class_Transform2D>` shape_xform **)**
 
 
 Returns a list of the points where this shape touches another. If there are no collisions the list is empty.
 Returns a list of the points where this shape touches another. If there are no collisions the list is empty.
 
 
@@ -90,7 +90,7 @@ This method needs the transformation matrix for this shape (``local_xform``), th
 
 
 .. _class_Shape2D_method_collide_with_motion_and_get_contacts:
 .. _class_Shape2D_method_collide_with_motion_and_get_contacts:
 
 
-- :ref:`Variant<class_Variant>` **collide_with_motion_and_get_contacts** **(** :ref:`Transform2D<class_Transform2D>` local_xform, :ref:`Vector2<class_Vector2>` local_motion, :ref:`Shape2D<class_Shape2D>` with_shape, :ref:`Transform2D<class_Transform2D>` shape_xform, :ref:`Vector2<class_Vector2>` shape_motion **)**
+- :ref:`Array<class_Array>` **collide_with_motion_and_get_contacts** **(** :ref:`Transform2D<class_Transform2D>` local_xform, :ref:`Vector2<class_Vector2>` local_motion, :ref:`Shape2D<class_Shape2D>` with_shape, :ref:`Transform2D<class_Transform2D>` shape_xform, :ref:`Vector2<class_Vector2>` shape_motion **)**
 
 
 Returns a list of the points where this shape would touch another, if a given movement was applied. If there are no collisions the list is empty.
 Returns a list of the points where this shape would touch another, if a given movement was applied. If there are no collisions the list is empty.
 
 

+ 1 - 1
classes/class_spatial.rst

@@ -9,7 +9,7 @@ Spatial
 
 
 **Inherits:** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>`
 **Inherits:** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>`
 
 
-**Inherited By:** :ref:`ARVRAnchor<class_ARVRAnchor>`, :ref:`ARVRController<class_ARVRController>`, :ref:`ARVROrigin<class_ARVROrigin>`, :ref:`AudioStreamPlayer3D<class_AudioStreamPlayer3D>`, :ref:`BoneAttachment<class_BoneAttachment>`, :ref:`Camera<class_Camera>`, :ref:`CollisionObject<class_CollisionObject>`, :ref:`CollisionPolygon<class_CollisionPolygon>`, :ref:`CollisionShape<class_CollisionShape>`, :ref:`GridMap<class_GridMap>`, :ref:`Joint<class_Joint>`, :ref:`Listener<class_Listener>`, :ref:`Navigation<class_Navigation>`, :ref:`NavigationMeshInstance<class_NavigationMeshInstance>`, :ref:`OrientedPathFollow<class_OrientedPathFollow>`, :ref:`Path<class_Path>`, :ref:`PathFollow<class_PathFollow>`, :ref:`Position3D<class_Position3D>`, :ref:`ProximityGroup<class_ProximityGroup>`, :ref:`RayCast<class_RayCast>`, :ref:`RemoteTransform<class_RemoteTransform>`, :ref:`Skeleton<class_Skeleton>`, :ref:`SpringArm<class_SpringArm>`, :ref:`VehicleWheel<class_VehicleWheel>`, :ref:`VisibilityNotifier<class_VisibilityNotifier>`, :ref:`VisualInstance<class_VisualInstance>`
+**Inherited By:** :ref:`ARVRAnchor<class_ARVRAnchor>`, :ref:`ARVRController<class_ARVRController>`, :ref:`ARVROrigin<class_ARVROrigin>`, :ref:`AudioStreamPlayer3D<class_AudioStreamPlayer3D>`, :ref:`BoneAttachment<class_BoneAttachment>`, :ref:`Camera<class_Camera>`, :ref:`CollisionObject<class_CollisionObject>`, :ref:`CollisionPolygon<class_CollisionPolygon>`, :ref:`CollisionShape<class_CollisionShape>`, :ref:`GridMap<class_GridMap>`, :ref:`Joint<class_Joint>`, :ref:`Listener<class_Listener>`, :ref:`Navigation<class_Navigation>`, :ref:`NavigationMeshInstance<class_NavigationMeshInstance>`, :ref:`Path<class_Path>`, :ref:`PathFollow<class_PathFollow>`, :ref:`Position3D<class_Position3D>`, :ref:`ProximityGroup<class_ProximityGroup>`, :ref:`RayCast<class_RayCast>`, :ref:`RemoteTransform<class_RemoteTransform>`, :ref:`Skeleton<class_Skeleton>`, :ref:`SpringArm<class_SpringArm>`, :ref:`VehicleWheel<class_VehicleWheel>`, :ref:`VisibilityNotifier<class_VisibilityNotifier>`, :ref:`VisualInstance<class_VisualInstance>`
 
 
 **Category:** Core
 **Category:** Core
 
 

+ 19 - 13
classes/class_stylebox.rst

@@ -34,19 +34,21 @@ Properties
 Methods
 Methods
 -------
 -------
 
 
-+-------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+
-| void                          | :ref:`draw<class_StyleBox_method_draw>` **(** :ref:`RID<class_RID>` canvas_item, :ref:`Rect2<class_Rect2>` rect **)** const             |
-+-------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Vector2<class_Vector2>` | :ref:`get_center_size<class_StyleBox_method_get_center_size>` **(** **)** const                                                         |
-+-------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`     | :ref:`get_margin<class_StyleBox_method_get_margin>` **(** :ref:`Margin<enum_@GlobalScope_Margin>` margin **)** const                    |
-+-------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Vector2<class_Vector2>` | :ref:`get_minimum_size<class_StyleBox_method_get_minimum_size>` **(** **)** const                                                       |
-+-------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Vector2<class_Vector2>` | :ref:`get_offset<class_StyleBox_method_get_offset>` **(** **)** const                                                                   |
-+-------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`       | :ref:`test_mask<class_StyleBox_method_test_mask>` **(** :ref:`Vector2<class_Vector2>` point, :ref:`Rect2<class_Rect2>` rect **)** const |
-+-------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+
++-------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+
+| void                                | :ref:`draw<class_StyleBox_method_draw>` **(** :ref:`RID<class_RID>` canvas_item, :ref:`Rect2<class_Rect2>` rect **)** const             |
++-------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Vector2<class_Vector2>`       | :ref:`get_center_size<class_StyleBox_method_get_center_size>` **(** **)** const                                                         |
++-------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`CanvasItem<class_CanvasItem>` | :ref:`get_current_item_drawn<class_StyleBox_method_get_current_item_drawn>` **(** **)** const                                           |
++-------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`           | :ref:`get_margin<class_StyleBox_method_get_margin>` **(** :ref:`Margin<enum_@GlobalScope_Margin>` margin **)** const                    |
++-------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Vector2<class_Vector2>`       | :ref:`get_minimum_size<class_StyleBox_method_get_minimum_size>` **(** **)** const                                                       |
++-------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Vector2<class_Vector2>`       | :ref:`get_offset<class_StyleBox_method_get_offset>` **(** **)** const                                                                   |
++-------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`             | :ref:`test_mask<class_StyleBox_method_test_mask>` **(** :ref:`Vector2<class_Vector2>` point, :ref:`Rect2<class_Rect2>` rect **)** const |
++-------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+
 
 
 Description
 Description
 -----------
 -----------
@@ -107,6 +109,10 @@ Method Descriptions
 
 
 - :ref:`Vector2<class_Vector2>` **get_center_size** **(** **)** const
 - :ref:`Vector2<class_Vector2>` **get_center_size** **(** **)** const
 
 
+.. _class_StyleBox_method_get_current_item_drawn:
+
+- :ref:`CanvasItem<class_CanvasItem>` **get_current_item_drawn** **(** **)** const
+
 .. _class_StyleBox_method_get_margin:
 .. _class_StyleBox_method_get_margin:
 
 
 - :ref:`float<class_float>` **get_margin** **(** :ref:`Margin<enum_@GlobalScope_Margin>` margin **)** const
 - :ref:`float<class_float>` **get_margin** **(** :ref:`Margin<enum_@GlobalScope_Margin>` margin **)** const

+ 0 - 6
classes/class_surfacetool.rst

@@ -32,8 +32,6 @@ Methods
 +-----------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +-----------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                              | :ref:`add_tangent<class_SurfaceTool_method_add_tangent>` **(** :ref:`Plane<class_Plane>` tangent **)**                                                                                                                                                                                                                                                                                                                                                                                     |
 | void                              | :ref:`add_tangent<class_SurfaceTool_method_add_tangent>` **(** :ref:`Plane<class_Plane>` tangent **)**                                                                                                                                                                                                                                                                                                                                                                                     |
 +-----------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +-----------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                              | :ref:`add_to_format<class_SurfaceTool_method_add_to_format>` **(** :ref:`int<class_int>` flags **)**                                                                                                                                                                                                                                                                                                                                                                                       |
-+-----------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                              | :ref:`add_triangle_fan<class_SurfaceTool_method_add_triangle_fan>` **(** :ref:`PoolVector3Array<class_PoolVector3Array>` vertexes, :ref:`PoolVector2Array<class_PoolVector2Array>` uvs=PoolVector2Array(  ), :ref:`PoolColorArray<class_PoolColorArray>` colors=PoolColorArray(  ), :ref:`PoolVector2Array<class_PoolVector2Array>` uv2s=PoolVector2Array(  ), :ref:`PoolVector3Array<class_PoolVector3Array>` normals=PoolVector3Array(  ), :ref:`Array<class_Array>` tangents=[  ] **)** |
 | void                              | :ref:`add_triangle_fan<class_SurfaceTool_method_add_triangle_fan>` **(** :ref:`PoolVector3Array<class_PoolVector3Array>` vertexes, :ref:`PoolVector2Array<class_PoolVector2Array>` uvs=PoolVector2Array(  ), :ref:`PoolColorArray<class_PoolColorArray>` colors=PoolColorArray(  ), :ref:`PoolVector2Array<class_PoolVector2Array>` uv2s=PoolVector2Array(  ), :ref:`PoolVector3Array<class_PoolVector3Array>` normals=PoolVector3Array(  ), :ref:`Array<class_Array>` tangents=[  ] **)** |
 +-----------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +-----------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                              | :ref:`add_uv<class_SurfaceTool_method_add_uv>` **(** :ref:`Vector2<class_Vector2>` uv **)**                                                                                                                                                                                                                                                                                                                                                                                                |
 | void                              | :ref:`add_uv<class_SurfaceTool_method_add_uv>` **(** :ref:`Vector2<class_Vector2>` uv **)**                                                                                                                                                                                                                                                                                                                                                                                                |
@@ -123,10 +121,6 @@ Specify whether current Vertex (if using only Vertex arrays) or current index (i
 
 
 Specify a Tangent for the next Vertex to use.
 Specify a Tangent for the next Vertex to use.
 
 
-.. _class_SurfaceTool_method_add_to_format:
-
-- void **add_to_format** **(** :ref:`int<class_int>` flags **)**
-
 .. _class_SurfaceTool_method_add_triangle_fan:
 .. _class_SurfaceTool_method_add_triangle_fan:
 
 
 - void **add_triangle_fan** **(** :ref:`PoolVector3Array<class_PoolVector3Array>` vertexes, :ref:`PoolVector2Array<class_PoolVector2Array>` uvs=PoolVector2Array(  ), :ref:`PoolColorArray<class_PoolColorArray>` colors=PoolColorArray(  ), :ref:`PoolVector2Array<class_PoolVector2Array>` uv2s=PoolVector2Array(  ), :ref:`PoolVector3Array<class_PoolVector3Array>` normals=PoolVector3Array(  ), :ref:`Array<class_Array>` tangents=[  ] **)**
 - void **add_triangle_fan** **(** :ref:`PoolVector3Array<class_PoolVector3Array>` vertexes, :ref:`PoolVector2Array<class_PoolVector2Array>` uvs=PoolVector2Array(  ), :ref:`PoolColorArray<class_PoolColorArray>` colors=PoolColorArray(  ), :ref:`PoolVector2Array<class_PoolVector2Array>` uv2s=PoolVector2Array(  ), :ref:`PoolVector3Array<class_PoolVector3Array>` normals=PoolVector3Array(  ), :ref:`Array<class_Array>` tangents=[  ] **)**

+ 6 - 0
classes/class_theme.rst

@@ -41,6 +41,8 @@ Methods
 +-----------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +-----------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                          | :ref:`copy_default_theme<class_Theme_method_copy_default_theme>` **(** **)**                                                                                                 |
 | void                                          | :ref:`copy_default_theme<class_Theme_method_copy_default_theme>` **(** **)**                                                                                                 |
 +-----------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +-----------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                          | :ref:`copy_theme<class_Theme_method_copy_theme>` **(** :ref:`Theme<class_Theme>` other **)**                                                                                 |
++-----------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`Color<class_Color>`                     | :ref:`get_color<class_Theme_method_get_color>` **(** :ref:`String<class_String>` name, :ref:`String<class_String>` type **)** const                                          |
 | :ref:`Color<class_Color>`                     | :ref:`get_color<class_Theme_method_get_color>` **(** :ref:`String<class_String>` name, :ref:`String<class_String>` type **)** const                                          |
 +-----------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +-----------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`PoolStringArray<class_PoolStringArray>` | :ref:`get_color_list<class_Theme_method_get_color_list>` **(** :ref:`String<class_String>` type **)** const                                                                  |
 | :ref:`PoolStringArray<class_PoolStringArray>` | :ref:`get_color_list<class_Theme_method_get_color_list>` **(** :ref:`String<class_String>` type **)** const                                                                  |
@@ -151,6 +153,10 @@ Clears :ref:`StyleBox<class_StyleBox>` at ``name`` if Theme has ``type``.
 
 
 Sets theme values to a copy of the default theme values.
 Sets theme values to a copy of the default theme values.
 
 
+.. _class_Theme_method_copy_theme:
+
+- void **copy_theme** **(** :ref:`Theme<class_Theme>` other **)**
+
 .. _class_Theme_method_get_color:
 .. _class_Theme_method_get_color:
 
 
 - :ref:`Color<class_Color>` **get_color** **(** :ref:`String<class_String>` name, :ref:`String<class_String>` type **)** const
 - :ref:`Color<class_Color>` **get_color** **(** :ref:`String<class_String>` name, :ref:`String<class_String>` type **)** const

+ 1 - 1
classes/class_tilemap.rst

@@ -509,5 +509,5 @@ Updates the tile map's quadrants, allowing things such as navigation and collisi
 
 
 - :ref:`Vector2<class_Vector2>` **world_to_map** **(** :ref:`Vector2<class_Vector2>` world_position **)** const
 - :ref:`Vector2<class_Vector2>` **world_to_map** **(** :ref:`Vector2<class_Vector2>` world_position **)** const
 
 
-Returns the tilemap (grid-based) coordinatescorresponding to the given global position.
+Returns the tilemap (grid-based) coordinates corresponding to the given local position.
 
 

+ 12 - 0
classes/class_tileset.rst

@@ -102,6 +102,8 @@ Methods
 +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`bool<class_bool>`                           | :ref:`tile_get_shape_one_way<class_TileSet_method_tile_get_shape_one_way>` **(** :ref:`int<class_int>` id, :ref:`int<class_int>` shape_id **)** const                                                                                                                                            |
 | :ref:`bool<class_bool>`                           | :ref:`tile_get_shape_one_way<class_TileSet_method_tile_get_shape_one_way>` **(** :ref:`int<class_int>` id, :ref:`int<class_int>` shape_id **)** const                                                                                                                                            |
 +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`                         | :ref:`tile_get_shape_one_way_margin<class_TileSet_method_tile_get_shape_one_way_margin>` **(** :ref:`int<class_int>` id, :ref:`int<class_int>` shape_id **)** const                                                                                                                              |
++---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`Transform2D<class_Transform2D>`             | :ref:`tile_get_shape_transform<class_TileSet_method_tile_get_shape_transform>` **(** :ref:`int<class_int>` id, :ref:`int<class_int>` shape_id **)** const                                                                                                                                        |
 | :ref:`Transform2D<class_Transform2D>`             | :ref:`tile_get_shape_transform<class_TileSet_method_tile_get_shape_transform>` **(** :ref:`int<class_int>` id, :ref:`int<class_int>` shape_id **)** const                                                                                                                                        |
 +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`Array<class_Array>`                         | :ref:`tile_get_shapes<class_TileSet_method_tile_get_shapes>` **(** :ref:`int<class_int>` id **)** const                                                                                                                                                                                          |
 | :ref:`Array<class_Array>`                         | :ref:`tile_get_shapes<class_TileSet_method_tile_get_shapes>` **(** :ref:`int<class_int>` id **)** const                                                                                                                                                                                          |
@@ -138,6 +140,8 @@ Methods
 +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                              | :ref:`tile_set_shape_one_way<class_TileSet_method_tile_set_shape_one_way>` **(** :ref:`int<class_int>` id, :ref:`int<class_int>` shape_id, :ref:`bool<class_bool>` one_way **)**                                                                                                                 |
 | void                                              | :ref:`tile_set_shape_one_way<class_TileSet_method_tile_set_shape_one_way>` **(** :ref:`int<class_int>` id, :ref:`int<class_int>` shape_id, :ref:`bool<class_bool>` one_way **)**                                                                                                                 |
 +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                              | :ref:`tile_set_shape_one_way_margin<class_TileSet_method_tile_set_shape_one_way_margin>` **(** :ref:`int<class_int>` id, :ref:`int<class_int>` shape_id, :ref:`float<class_float>` one_way **)**                                                                                                 |
++---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                              | :ref:`tile_set_shape_transform<class_TileSet_method_tile_set_shape_transform>` **(** :ref:`int<class_int>` id, :ref:`int<class_int>` shape_id, :ref:`Transform2D<class_Transform2D>` shape_transform **)**                                                                                       |
 | void                                              | :ref:`tile_set_shape_transform<class_TileSet_method_tile_set_shape_transform>` **(** :ref:`int<class_int>` id, :ref:`int<class_int>` shape_id, :ref:`Transform2D<class_Transform2D>` shape_transform **)**                                                                                       |
 +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                              | :ref:`tile_set_shapes<class_TileSet_method_tile_set_shapes>` **(** :ref:`int<class_int>` id, :ref:`Array<class_Array>` shapes **)**                                                                                                                                                              |
 | void                                              | :ref:`tile_set_shapes<class_TileSet_method_tile_set_shapes>` **(** :ref:`int<class_int>` id, :ref:`Array<class_Array>` shapes **)**                                                                                                                                                              |
@@ -486,6 +490,10 @@ Returns the offset of a tile's shape.
 
 
 Returns the one-way collision value of a tile's shape.
 Returns the one-way collision value of a tile's shape.
 
 
+.. _class_TileSet_method_tile_get_shape_one_way_margin:
+
+- :ref:`float<class_float>` **tile_get_shape_one_way_margin** **(** :ref:`int<class_int>` id, :ref:`int<class_int>` shape_id **)** const
+
 .. _class_TileSet_method_tile_get_shape_transform:
 .. _class_TileSet_method_tile_get_shape_transform:
 
 
 - :ref:`Transform2D<class_Transform2D>` **tile_get_shape_transform** **(** :ref:`int<class_int>` id, :ref:`int<class_int>` shape_id **)** const
 - :ref:`Transform2D<class_Transform2D>` **tile_get_shape_transform** **(** :ref:`int<class_int>` id, :ref:`int<class_int>` shape_id **)** const
@@ -594,6 +602,10 @@ Sets the offset of a tile's shape.
 
 
 Enables one-way collision on a tile's shape.
 Enables one-way collision on a tile's shape.
 
 
+.. _class_TileSet_method_tile_set_shape_one_way_margin:
+
+- void **tile_set_shape_one_way_margin** **(** :ref:`int<class_int>` id, :ref:`int<class_int>` shape_id, :ref:`float<class_float>` one_way **)**
+
 .. _class_TileSet_method_tile_set_shape_transform:
 .. _class_TileSet_method_tile_set_shape_transform:
 
 
 - void **tile_set_shape_transform** **(** :ref:`int<class_int>` id, :ref:`int<class_int>` shape_id, :ref:`Transform2D<class_Transform2D>` shape_transform **)**
 - void **tile_set_shape_transform** **(** :ref:`int<class_int>` id, :ref:`int<class_int>` shape_id, :ref:`Transform2D<class_Transform2D>` shape_transform **)**