瀏覽代碼

Sync classref with current source

Rémi Verschelde 5 年之前
父節點
當前提交
0ac1767a3f

+ 14 - 0
classes/[email protected]

@@ -42,6 +42,8 @@ Properties
 +---------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
 +---------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
 | :ref:`JSON<class_JSON>`                                                   | :ref:`JSON<class_@GlobalScope_property_JSON>`                                       |
 | :ref:`JSON<class_JSON>`                                                   | :ref:`JSON<class_@GlobalScope_property_JSON>`                                       |
 +---------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
 +---------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
+| :ref:`JavaClassWrapper<class_JavaClassWrapper>`                           | :ref:`JavaClassWrapper<class_@GlobalScope_property_JavaClassWrapper>`               |
++---------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
 | :ref:`JavaScript<class_JavaScript>`                                       | :ref:`JavaScript<class_@GlobalScope_property_JavaScript>`                           |
 | :ref:`JavaScript<class_JavaScript>`                                       | :ref:`JavaScript<class_@GlobalScope_property_JavaScript>`                           |
 +---------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
 +---------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
 | :ref:`Reference<class_Reference>`                                         | :ref:`Marshalls<class_@GlobalScope_property_Marshalls>`                             |
 | :ref:`Reference<class_Reference>`                                         | :ref:`Marshalls<class_@GlobalScope_property_Marshalls>`                             |
@@ -2287,12 +2289,24 @@ The :ref:`JSON<class_JSON>` singleton.
 
 
 ----
 ----
 
 
+.. _class_@GlobalScope_property_JavaClassWrapper:
+
+- :ref:`JavaClassWrapper<class_JavaClassWrapper>` **JavaClassWrapper**
+
+The :ref:`JavaClassWrapper<class_JavaClassWrapper>` singleton.
+
+**Note:** Only implemented on Android.
+
+----
+
 .. _class_@GlobalScope_property_JavaScript:
 .. _class_@GlobalScope_property_JavaScript:
 
 
 - :ref:`JavaScript<class_JavaScript>` **JavaScript**
 - :ref:`JavaScript<class_JavaScript>` **JavaScript**
 
 
 The :ref:`JavaScript<class_JavaScript>` singleton.
 The :ref:`JavaScript<class_JavaScript>` singleton.
 
 
+**Note:** Only implemented on HTML5.
+
 ----
 ----
 
 
 .. _class_@GlobalScope_property_Marshalls:
 .. _class_@GlobalScope_property_Marshalls:

+ 7 - 0
classes/class_arraymesh.rst

@@ -36,6 +36,11 @@ The ``ArrayMesh`` is used to construct a :ref:`Mesh<class_Mesh>` by specifying t
 
 
 The ``MeshInstance`` is ready to be added to the SceneTree to be shown.
 The ``MeshInstance`` is ready to be added to the SceneTree to be shown.
 
 
+Tutorials
+---------
+
+- :doc:`../tutorials/content/procedural_geometry/arraymesh`
+
 Properties
 Properties
 ----------
 ----------
 
 
@@ -199,6 +204,8 @@ Property Descriptions
 | *Getter*  | get_blend_shape_mode()      |
 | *Getter*  | get_blend_shape_mode()      |
 +-----------+-----------------------------+
 +-----------+-----------------------------+
 
 
+Sets the blend shape mode to one of :ref:`BlendShapeMode<enum_Mesh_BlendShapeMode>`.
+
 ----
 ----
 
 
 .. _class_ArrayMesh_property_custom_aabb:
 .. _class_ArrayMesh_property_custom_aabb:

+ 2 - 0
classes/class_configfile.rst

@@ -44,6 +44,8 @@ The following example shows how to parse an INI-style file from the system, read
 
 
 Keep in mind that section and property names can't contain spaces. Anything after a space will be ignored on save and on load.
 Keep in mind that section and property names can't contain spaces. Anything after a space will be ignored on save and on load.
 
 
+ConfigFiles can also contain manually written comment lines starting with a semicolon (``;``). Those lines will be ignored when parsing the file. Note that comments will be lost when saving the ConfigFile. This can still be useful for dedicated server configuration files, which are typically never overwritten without explicit user action.
+
 Methods
 Methods
 -------
 -------
 
 

+ 4 - 0
classes/class_cpuparticles.rst

@@ -291,6 +291,8 @@ enum **Flags**:
 
 
 .. _class_CPUParticles_constant_EMISSION_SHAPE_DIRECTED_POINTS:
 .. _class_CPUParticles_constant_EMISSION_SHAPE_DIRECTED_POINTS:
 
 
+.. _class_CPUParticles_constant_EMISSION_SHAPE_MAX:
+
 enum **EmissionShape**:
 enum **EmissionShape**:
 
 
 - **EMISSION_SHAPE_POINT** = **0** --- All particles will be emitted from a single point.
 - **EMISSION_SHAPE_POINT** = **0** --- All particles will be emitted from a single point.
@@ -303,6 +305,8 @@ enum **EmissionShape**:
 
 
 - **EMISSION_SHAPE_DIRECTED_POINTS** = **4** --- Particles will be emitted at a position chosen randomly among :ref:`emission_points<class_CPUParticles_property_emission_points>`. Particle velocity and rotation will be set based on :ref:`emission_normals<class_CPUParticles_property_emission_normals>`. Particle color will be modulated by :ref:`emission_colors<class_CPUParticles_property_emission_colors>`.
 - **EMISSION_SHAPE_DIRECTED_POINTS** = **4** --- Particles will be emitted at a position chosen randomly among :ref:`emission_points<class_CPUParticles_property_emission_points>`. Particle velocity and rotation will be set based on :ref:`emission_normals<class_CPUParticles_property_emission_normals>`. Particle color will be modulated by :ref:`emission_colors<class_CPUParticles_property_emission_colors>`.
 
 
+- **EMISSION_SHAPE_MAX** = **5** --- Represents the size of the :ref:`EmissionShape<enum_CPUParticles_EmissionShape>` enum.
+
 Property Descriptions
 Property Descriptions
 ---------------------
 ---------------------
 
 

+ 4 - 0
classes/class_cpuparticles2d.rst

@@ -290,6 +290,8 @@ enum **Flags**:
 
 
 .. _class_CPUParticles2D_constant_EMISSION_SHAPE_DIRECTED_POINTS:
 .. _class_CPUParticles2D_constant_EMISSION_SHAPE_DIRECTED_POINTS:
 
 
+.. _class_CPUParticles2D_constant_EMISSION_SHAPE_MAX:
+
 enum **EmissionShape**:
 enum **EmissionShape**:
 
 
 - **EMISSION_SHAPE_POINT** = **0** --- All particles will be emitted from a single point.
 - **EMISSION_SHAPE_POINT** = **0** --- All particles will be emitted from a single point.
@@ -302,6 +304,8 @@ enum **EmissionShape**:
 
 
 - **EMISSION_SHAPE_DIRECTED_POINTS** = **4** --- Particles will be emitted at a position chosen randomly among :ref:`emission_points<class_CPUParticles2D_property_emission_points>`. Particle velocity and rotation will be set based on :ref:`emission_normals<class_CPUParticles2D_property_emission_normals>`. Particle color will be modulated by :ref:`emission_colors<class_CPUParticles2D_property_emission_colors>`.
 - **EMISSION_SHAPE_DIRECTED_POINTS** = **4** --- Particles will be emitted at a position chosen randomly among :ref:`emission_points<class_CPUParticles2D_property_emission_points>`. Particle velocity and rotation will be set based on :ref:`emission_normals<class_CPUParticles2D_property_emission_normals>`. Particle color will be modulated by :ref:`emission_colors<class_CPUParticles2D_property_emission_colors>`.
 
 
+- **EMISSION_SHAPE_MAX** = **5** --- Represents the size of the :ref:`EmissionShape<enum_CPUParticles2D_EmissionShape>` enum.
+
 Property Descriptions
 Property Descriptions
 ---------------------
 ---------------------
 
 

+ 5 - 0
classes/class_geometry.rst

@@ -11,7 +11,12 @@ Geometry
 
 
 **Inherits:** :ref:`Object<class_Object>`
 **Inherits:** :ref:`Object<class_Object>`
 
 
+Helper node to calculate generic geometry operations.
 
 
+Description
+-----------
+
+Geometry provides users with a set of helper functions to create geometric shapes, compute intersections between shapes, and process various other geometric operations.
 
 
 Methods
 Methods
 -------
 -------

+ 4 - 0
classes/class_geometryinstance.rst

@@ -243,6 +243,8 @@ Method Descriptions
 
 
 - :ref:`bool<class_bool>` **get_flag** **(** :ref:`Flags<enum_GeometryInstance_Flags>` flag **)** const
 - :ref:`bool<class_bool>` **get_flag** **(** :ref:`Flags<enum_GeometryInstance_Flags>` flag **)** const
 
 
+Returns the :ref:`Flags<enum_GeometryInstance_Flags>` that have been set for this object.
+
 ----
 ----
 
 
 .. _class_GeometryInstance_method_set_custom_aabb:
 .. _class_GeometryInstance_method_set_custom_aabb:
@@ -257,3 +259,5 @@ Overrides the bounding box of this node with a custom one. To remove it, set an
 
 
 - void **set_flag** **(** :ref:`Flags<enum_GeometryInstance_Flags>` flag, :ref:`bool<class_bool>` value **)**
 - void **set_flag** **(** :ref:`Flags<enum_GeometryInstance_Flags>` flag, :ref:`bool<class_bool>` value **)**
 
 
+Sets the :ref:`Flags<enum_GeometryInstance_Flags>` specified. See :ref:`Flags<enum_GeometryInstance_Flags>` for options.
+

+ 7 - 5
classes/class_graphnode.rst

@@ -11,14 +11,16 @@ GraphNode
 
 
 **Inherits:** :ref:`Container<class_Container>` **<** :ref:`Control<class_Control>` **<** :ref:`CanvasItem<class_CanvasItem>` **<** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>`
 **Inherits:** :ref:`Container<class_Container>` **<** :ref:`Control<class_Control>` **<** :ref:`CanvasItem<class_CanvasItem>` **<** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>`
 
 
-A GraphNode is a container with several input and output slots allowing connections between GraphNodes. Slots can have different, incompatible types.
+A GraphNode is a container with potentially several input and output slots allowing connections between GraphNodes. Slots can have different, incompatible types.
 
 
 Description
 Description
 -----------
 -----------
 
 
-A GraphNode is a container defined by a title. It can have one or more input and output slots, which can be enabled (shown) or disabled (not shown) and have different (incompatible) types. Colors can also be assigned to slots. A tuple of input and output slots is defined for each GUI element included in the GraphNode. Input and output connections are left and right slots, but only enabled slots are counted as connections.
+A GraphNode is a container. Each GraphNode can have several input and output slots, sometimes refered to as ports, allowing connections between GraphNodes. To add a slot to GraphNode, add any :ref:`Control<class_Control>`-derived child node to it. 
 
 
-To add a slot to GraphNode, add any :ref:`Control<class_Control>`-derived child node to it.
+After adding at least one child to GraphNode new sections will be automatically created in the Inspector called 'Slot'. When 'Slot' is expanded you will see list with index number for each slot. You can click on each of them to expand further.  
+
+In the Inspector you can enable (show) or disable (hide) slots. By default all slots are disabled so you may not see any slots on your GraphNode initially. You can assign a type to each slot. Only slots of the same type will be able to connect to each other. You can also assign colors to slots. A tuple of input and output slots is defined for each GUI element included in the GraphNode. Input connections are on the left and output connections are on the right side of GraphNode. Only enabled slots are counted as connections.
 
 
 Properties
 Properties
 ----------
 ----------
@@ -248,7 +250,7 @@ Sets the overlay shown above the GraphNode. See :ref:`Overlay<enum_GraphNode_Ove
 
 
 If ``true``, the user can resize the GraphNode.
 If ``true``, the user can resize the GraphNode.
 
 
-**Note:** Dragging the handle will only trigger the :ref:`resize_request<class_GraphNode_signal_resize_request>` signal, the GraphNode needs to be resized manually.
+**Note:** Dragging the handle will only emit the :ref:`resize_request<class_GraphNode_signal_resize_request>` signal, the GraphNode needs to be resized manually.
 
 
 ----
 ----
 
 
@@ -282,7 +284,7 @@ If ``true``, the GraphNode is selected.
 
 
 If ``true``, the close button will be visible.
 If ``true``, the close button will be visible.
 
 
-**Note:** Pressing it will only trigger the :ref:`close_request<class_GraphNode_signal_close_request>` signal, the GraphNode needs to be removed manually.
+**Note:** Pressing it will only emit the :ref:`close_request<class_GraphNode_signal_close_request>` signal, the GraphNode needs to be removed manually.
 
 
 ----
 ----
 
 

+ 18 - 14
classes/class_image.rst

@@ -215,9 +215,9 @@ Enumerations
 
 
 enum **Format**:
 enum **Format**:
 
 
-- **FORMAT_L8** = **0**
+- **FORMAT_L8** = **0** --- Texture format with a single 8-bit depth representing luminance.
 
 
-- **FORMAT_LA8** = **1**
+- **FORMAT_LA8** = **1** --- OpenGL texture format with two values, luminance and alpha each stored with 8 bits.
 
 
 - **FORMAT_R8** = **2** --- OpenGL texture format ``RED`` with a single component and a bitdepth of 8.
 - **FORMAT_R8** = **2** --- OpenGL texture format ``RED`` with a single component and a bitdepth of 8.
 
 
@@ -357,11 +357,11 @@ On the other hand, if the image already has mipmaps, they will be used, and a ne
 
 
 enum **AlphaMode**:
 enum **AlphaMode**:
 
 
-- **ALPHA_NONE** = **0**
+- **ALPHA_NONE** = **0** --- Image does not have alpha.
 
 
-- **ALPHA_BIT** = **1**
+- **ALPHA_BIT** = **1** --- Image stores alpha in a single bit.
 
 
-- **ALPHA_BLEND** = **2**
+- **ALPHA_BLEND** = **2** --- Image uses alpha.
 
 
 ----
 ----
 
 
@@ -379,15 +379,15 @@ enum **AlphaMode**:
 
 
 enum **CompressMode**:
 enum **CompressMode**:
 
 
-- **COMPRESS_S3TC** = **0**
+- **COMPRESS_S3TC** = **0** --- Use S3TC compression.
 
 
-- **COMPRESS_PVRTC2** = **1**
+- **COMPRESS_PVRTC2** = **1** --- Use PVRTC2 compression.
 
 
-- **COMPRESS_PVRTC4** = **2**
+- **COMPRESS_PVRTC4** = **2** --- Use PVRTC4 compression.
 
 
-- **COMPRESS_ETC** = **3**
+- **COMPRESS_ETC** = **3** --- Use ETC compression.
 
 
-- **COMPRESS_ETC2** = **4**
+- **COMPRESS_ETC2** = **4** --- Use ETC2 compression.
 
 
 ----
 ----
 
 
@@ -401,11 +401,11 @@ enum **CompressMode**:
 
 
 enum **CompressSource**:
 enum **CompressSource**:
 
 
-- **COMPRESS_SOURCE_GENERIC** = **0**
+- **COMPRESS_SOURCE_GENERIC** = **0** --- Source texture (before compression) is a regular texture. Default for all textures.
 
 
-- **COMPRESS_SOURCE_SRGB** = **1**
+- **COMPRESS_SOURCE_SRGB** = **1** --- Source texture (before compression) is in sRGB space.
 
 
-- **COMPRESS_SOURCE_NORMAL** = **2**
+- **COMPRESS_SOURCE_NORMAL** = **2** --- Source texture (before compression) is a normal texture (e.g. it can be compressed into two channels).
 
 
 Constants
 Constants
 ---------
 ---------
@@ -470,6 +470,8 @@ Blits ``src_rect`` area from ``src`` image to this image at the coordinates give
 
 
 - void **bumpmap_to_normalmap** **(** :ref:`float<class_float>` bump_scale=1.0 **)**
 - void **bumpmap_to_normalmap** **(** :ref:`float<class_float>` bump_scale=1.0 **)**
 
 
+Converts a bumpmap to a normalmap. A bumpmap provides a height offset per-pixel, while a normalmap provides a normal direction per pixel.
+
 ----
 ----
 
 
 .. _class_Image_method_clear_mipmaps:
 .. _class_Image_method_clear_mipmaps:
@@ -540,7 +542,7 @@ Decompresses the image if it is compressed. Returns an error if decompress funct
 
 
 - :ref:`AlphaMode<enum_Image_AlphaMode>` **detect_alpha** **(** **)** const
 - :ref:`AlphaMode<enum_Image_AlphaMode>` **detect_alpha** **(** **)** const
 
 
-Returns :ref:`ALPHA_BLEND<class_Image_constant_ALPHA_BLEND>` if the image has data for alpha values. Returns :ref:`ALPHA_BIT<class_Image_constant_ALPHA_BIT>` if all the alpha values are below a certain threshold or the maximum value. Returns :ref:`ALPHA_NONE<class_Image_constant_ALPHA_NONE>` if no data for alpha values is found.
+Returns :ref:`ALPHA_BLEND<class_Image_constant_ALPHA_BLEND>` if the image has data for alpha values. Returns :ref:`ALPHA_BIT<class_Image_constant_ALPHA_BIT>` if all the alpha values are stored in a single bit. Returns :ref:`ALPHA_NONE<class_Image_constant_ALPHA_NONE>` if no data for alpha values is found.
 
 
 ----
 ----
 
 
@@ -780,6 +782,8 @@ Resizes the image to the nearest power of 2 for the width and height. If ``squar
 
 
 - :ref:`Image<class_Image>` **rgbe_to_srgb** **(** **)**
 - :ref:`Image<class_Image>` **rgbe_to_srgb** **(** **)**
 
 
+Converts a standard RGBE (Red Green Blue Exponent) image to an sRGB image.
+
 ----
 ----
 
 
 .. _class_Image_method_save_exr:
 .. _class_Image_method_save_exr:

+ 15 - 0
classes/class_javaclass.rst

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

+ 29 - 0
classes/class_javaclasswrapper.rst

@@ -0,0 +1,29 @@
+:github_url: hide
+
+.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. DO NOT EDIT THIS FILE, but the JavaClassWrapper.xml source instead.
+.. The source is found in doc/classes or modules/<name>/doc_classes.
+
+.. _class_JavaClassWrapper:
+
+JavaClassWrapper
+================
+
+**Inherits:** :ref:`Object<class_Object>`
+
+
+
+Methods
+-------
+
++-----------------------------------+----------------------------------------------------------------------------------------------+
+| :ref:`JavaClass<class_JavaClass>` | :ref:`wrap<class_JavaClassWrapper_method_wrap>` **(** :ref:`String<class_String>` name **)** |
++-----------------------------------+----------------------------------------------------------------------------------------------+
+
+Method Descriptions
+-------------------
+
+.. _class_JavaClassWrapper_method_wrap:
+
+- :ref:`JavaClass<class_JavaClass>` **wrap** **(** :ref:`String<class_String>` name **)**
+

+ 5 - 5
classes/class_kinematicbody.rst

@@ -64,7 +64,7 @@ Methods
 +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`Vector3<class_Vector3>`                       | :ref:`move_and_slide<class_KinematicBody_method_move_and_slide>` **(** :ref:`Vector3<class_Vector3>` linear_velocity, :ref:`Vector3<class_Vector3>` up_direction=Vector3( 0, 0, 0 ), :ref:`bool<class_bool>` stop_on_slope=false, :ref:`int<class_int>` max_slides=4, :ref:`float<class_float>` floor_max_angle=0.785398, :ref:`bool<class_bool>` infinite_inertia=true **)**                                                         |
 | :ref:`Vector3<class_Vector3>`                       | :ref:`move_and_slide<class_KinematicBody_method_move_and_slide>` **(** :ref:`Vector3<class_Vector3>` linear_velocity, :ref:`Vector3<class_Vector3>` up_direction=Vector3( 0, 0, 0 ), :ref:`bool<class_bool>` stop_on_slope=false, :ref:`int<class_int>` max_slides=4, :ref:`float<class_float>` floor_max_angle=0.785398, :ref:`bool<class_bool>` infinite_inertia=true **)**                                                         |
 +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Vector3<class_Vector3>`                       | :ref:`move_and_slide_with_snap<class_KinematicBody_method_move_and_slide_with_snap>` **(** :ref:`Vector3<class_Vector3>` linear_velocity, :ref:`Vector3<class_Vector3>` snap, :ref:`Vector3<class_Vector3>` floor_normal=Vector3( 0, 0, 0 ), :ref:`bool<class_bool>` stop_on_slope=false, :ref:`int<class_int>` max_slides=4, :ref:`float<class_float>` floor_max_angle=0.785398, :ref:`bool<class_bool>` infinite_inertia=true **)** |
+| :ref:`Vector3<class_Vector3>`                       | :ref:`move_and_slide_with_snap<class_KinematicBody_method_move_and_slide_with_snap>` **(** :ref:`Vector3<class_Vector3>` linear_velocity, :ref:`Vector3<class_Vector3>` snap, :ref:`Vector3<class_Vector3>` up_direction=Vector3( 0, 0, 0 ), :ref:`bool<class_bool>` stop_on_slope=false, :ref:`int<class_int>` max_slides=4, :ref:`float<class_float>` floor_max_angle=0.785398, :ref:`bool<class_bool>` infinite_inertia=true **)** |
 +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                                | :ref:`set_axis_lock<class_KinematicBody_method_set_axis_lock>` **(** :ref:`BodyAxis<enum_PhysicsServer_BodyAxis>` axis, :ref:`bool<class_bool>` lock **)**                                                                                                                                                                                                                                                                            |
 | void                                                | :ref:`set_axis_lock<class_KinematicBody_method_set_axis_lock>` **(** :ref:`BodyAxis<enum_PhysicsServer_BodyAxis>` axis, :ref:`bool<class_bool>` lock **)**                                                                                                                                                                                                                                                                            |
 +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
@@ -151,7 +151,7 @@ Returns ``true`` if the specified ``axis`` is locked. See also :ref:`move_lock_x
 
 
 - :ref:`Vector3<class_Vector3>` **get_floor_normal** **(** **)** const
 - :ref:`Vector3<class_Vector3>` **get_floor_normal** **(** **)** const
 
 
-Returns the normal vector of the floor.
+Returns the surface normal of the floor at the last collision point. Only valid after calling :ref:`move_and_slide<class_KinematicBody_method_move_and_slide>` or :ref:`move_and_slide_with_snap<class_KinematicBody_method_move_and_slide_with_snap>` and when :ref:`is_on_floor<class_KinematicBody_method_is_on_floor>` returns ``true``.
 
 
 ----
 ----
 
 
@@ -159,7 +159,7 @@ Returns the normal vector of the floor.
 
 
 - :ref:`Vector3<class_Vector3>` **get_floor_velocity** **(** **)** const
 - :ref:`Vector3<class_Vector3>` **get_floor_velocity** **(** **)** const
 
 
-Returns the velocity of the floor. Only updates when calling :ref:`move_and_slide<class_KinematicBody_method_move_and_slide>`.
+Returns the linear velocity of the floor at the last collision point. Only valid after calling :ref:`move_and_slide<class_KinematicBody_method_move_and_slide>` or :ref:`move_and_slide_with_snap<class_KinematicBody_method_move_and_slide_with_snap>` and when :ref:`is_on_floor<class_KinematicBody_method_is_on_floor>` returns ``true``.
 
 
 ----
 ----
 
 
@@ -221,7 +221,7 @@ Moves the body along a vector. If the body collides with another, it will slide
 
 
 ``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.
 ``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.
+``up_direction`` 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.
 
 
 If ``stop_on_slope`` is ``true``, body will not slide on slopes if you include gravity in ``linear_velocity``.
 If ``stop_on_slope`` is ``true``, body will not slide on slopes if you include gravity in ``linear_velocity``.
 
 
@@ -237,7 +237,7 @@ Returns the ``linear_velocity`` vector, rotated and/or scaled if a slide collisi
 
 
 .. _class_KinematicBody_method_move_and_slide_with_snap:
 .. _class_KinematicBody_method_move_and_slide_with_snap:
 
 
-- :ref:`Vector3<class_Vector3>` **move_and_slide_with_snap** **(** :ref:`Vector3<class_Vector3>` linear_velocity, :ref:`Vector3<class_Vector3>` snap, :ref:`Vector3<class_Vector3>` floor_normal=Vector3( 0, 0, 0 ), :ref:`bool<class_bool>` stop_on_slope=false, :ref:`int<class_int>` max_slides=4, :ref:`float<class_float>` floor_max_angle=0.785398, :ref:`bool<class_bool>` infinite_inertia=true **)**
+- :ref:`Vector3<class_Vector3>` **move_and_slide_with_snap** **(** :ref:`Vector3<class_Vector3>` linear_velocity, :ref:`Vector3<class_Vector3>` snap, :ref:`Vector3<class_Vector3>` up_direction=Vector3( 0, 0, 0 ), :ref:`bool<class_bool>` stop_on_slope=false, :ref:`int<class_int>` max_slides=4, :ref:`float<class_float>` floor_max_angle=0.785398, :ref:`bool<class_bool>` infinite_inertia=true **)**
 
 
 Moves the body while keeping it attached to slopes. Similar to :ref:`move_and_slide<class_KinematicBody_method_move_and_slide>`.
 Moves the body while keeping it attached to slopes. Similar to :ref:`move_and_slide<class_KinematicBody_method_move_and_slide>`.
 
 

+ 7 - 7
classes/class_kinematicbody2d.rst

@@ -58,9 +58,9 @@ Methods
 +---------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +---------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`KinematicCollision2D<class_KinematicCollision2D>` | :ref:`move_and_collide<class_KinematicBody2D_method_move_and_collide>` **(** :ref:`Vector2<class_Vector2>` rel_vec, :ref:`bool<class_bool>` infinite_inertia=true, :ref:`bool<class_bool>` exclude_raycast_shapes=true, :ref:`bool<class_bool>` test_only=false **)**                                                                                                                                                                |
 | :ref:`KinematicCollision2D<class_KinematicCollision2D>` | :ref:`move_and_collide<class_KinematicBody2D_method_move_and_collide>` **(** :ref:`Vector2<class_Vector2>` rel_vec, :ref:`bool<class_bool>` infinite_inertia=true, :ref:`bool<class_bool>` exclude_raycast_shapes=true, :ref:`bool<class_bool>` test_only=false **)**                                                                                                                                                                |
 +---------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +---------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Vector2<class_Vector2>`                           | :ref:`move_and_slide<class_KinematicBody2D_method_move_and_slide>` **(** :ref:`Vector2<class_Vector2>` linear_velocity, :ref:`Vector2<class_Vector2>` floor_normal=Vector2( 0, 0 ), :ref:`bool<class_bool>` stop_on_slope=false, :ref:`int<class_int>` max_slides=4, :ref:`float<class_float>` floor_max_angle=0.785398, :ref:`bool<class_bool>` infinite_inertia=true **)**                                                         |
+| :ref:`Vector2<class_Vector2>`                           | :ref:`move_and_slide<class_KinematicBody2D_method_move_and_slide>` **(** :ref:`Vector2<class_Vector2>` linear_velocity, :ref:`Vector2<class_Vector2>` up_direction=Vector2( 0, 0 ), :ref:`bool<class_bool>` stop_on_slope=false, :ref:`int<class_int>` max_slides=4, :ref:`float<class_float>` floor_max_angle=0.785398, :ref:`bool<class_bool>` infinite_inertia=true **)**                                                         |
 +---------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +---------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Vector2<class_Vector2>`                           | :ref:`move_and_slide_with_snap<class_KinematicBody2D_method_move_and_slide_with_snap>` **(** :ref:`Vector2<class_Vector2>` linear_velocity, :ref:`Vector2<class_Vector2>` snap, :ref:`Vector2<class_Vector2>` floor_normal=Vector2( 0, 0 ), :ref:`bool<class_bool>` stop_on_slope=false, :ref:`int<class_int>` max_slides=4, :ref:`float<class_float>` floor_max_angle=0.785398, :ref:`bool<class_bool>` infinite_inertia=true **)** |
+| :ref:`Vector2<class_Vector2>`                           | :ref:`move_and_slide_with_snap<class_KinematicBody2D_method_move_and_slide_with_snap>` **(** :ref:`Vector2<class_Vector2>` linear_velocity, :ref:`Vector2<class_Vector2>` snap, :ref:`Vector2<class_Vector2>` up_direction=Vector2( 0, 0 ), :ref:`bool<class_bool>` stop_on_slope=false, :ref:`int<class_int>` max_slides=4, :ref:`float<class_float>` floor_max_angle=0.785398, :ref:`bool<class_bool>` infinite_inertia=true **)** |
 +---------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +---------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`bool<class_bool>`                                 | :ref:`test_move<class_KinematicBody2D_method_test_move>` **(** :ref:`Transform2D<class_Transform2D>` from, :ref:`Vector2<class_Vector2>` rel_vec, :ref:`bool<class_bool>` infinite_inertia=true **)**                                                                                                                                                                                                                                |
 | :ref:`bool<class_bool>`                                 | :ref:`test_move<class_KinematicBody2D_method_test_move>` **(** :ref:`Transform2D<class_Transform2D>` from, :ref:`Vector2<class_Vector2>` rel_vec, :ref:`bool<class_bool>` infinite_inertia=true **)**                                                                                                                                                                                                                                |
 +---------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +---------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
@@ -105,7 +105,7 @@ Method Descriptions
 
 
 - :ref:`Vector2<class_Vector2>` **get_floor_normal** **(** **)** const
 - :ref:`Vector2<class_Vector2>` **get_floor_normal** **(** **)** const
 
 
-Returns the normal vector of the floor.
+Returns the surface normal of the floor at the last collision point. Only valid after calling :ref:`move_and_slide<class_KinematicBody2D_method_move_and_slide>` or :ref:`move_and_slide_with_snap<class_KinematicBody2D_method_move_and_slide_with_snap>` and when :ref:`is_on_floor<class_KinematicBody2D_method_is_on_floor>` returns ``true``.
 
 
 ----
 ----
 
 
@@ -113,7 +113,7 @@ Returns the normal vector of the floor.
 
 
 - :ref:`Vector2<class_Vector2>` **get_floor_velocity** **(** **)** const
 - :ref:`Vector2<class_Vector2>` **get_floor_velocity** **(** **)** const
 
 
-Returns the velocity of the floor. Only updates when calling :ref:`move_and_slide<class_KinematicBody2D_method_move_and_slide>`.
+Returns the linear velocity of the floor at the last collision point. Only valid after calling :ref:`move_and_slide<class_KinematicBody2D_method_move_and_slide>` or :ref:`move_and_slide_with_snap<class_KinematicBody2D_method_move_and_slide_with_snap>` and when :ref:`is_on_floor<class_KinematicBody2D_method_is_on_floor>` returns ``true``.
 
 
 ----
 ----
 
 
@@ -177,13 +177,13 @@ If ``test_only`` is ``true``, the body does not move but the would-be collision
 
 
 .. _class_KinematicBody2D_method_move_and_slide:
 .. _class_KinematicBody2D_method_move_and_slide:
 
 
-- :ref:`Vector2<class_Vector2>` **move_and_slide** **(** :ref:`Vector2<class_Vector2>` linear_velocity, :ref:`Vector2<class_Vector2>` floor_normal=Vector2( 0, 0 ), :ref:`bool<class_bool>` stop_on_slope=false, :ref:`int<class_int>` max_slides=4, :ref:`float<class_float>` floor_max_angle=0.785398, :ref:`bool<class_bool>` infinite_inertia=true **)**
+- :ref:`Vector2<class_Vector2>` **move_and_slide** **(** :ref:`Vector2<class_Vector2>` linear_velocity, :ref:`Vector2<class_Vector2>` up_direction=Vector2( 0, 0 ), :ref:`bool<class_bool>` stop_on_slope=false, :ref:`int<class_int>` max_slides=4, :ref:`float<class_float>` floor_max_angle=0.785398, :ref:`bool<class_bool>` infinite_inertia=true **)**
 
 
 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 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.
 ``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.
+``up_direction`` is the up direction, used to determine what is a wall and what is a floor or a ceiling. If set to the default value of ``Vector2(0, 0)``, everything is considered a wall. This is useful for topdown games.
 
 
 If ``stop_on_slope`` is ``true``, body will not slide on slopes when you include gravity in ``linear_velocity`` and the body is standing still.
 If ``stop_on_slope`` is ``true``, body will not slide on slopes when you include gravity in ``linear_velocity`` and the body is standing still.
 
 
@@ -199,7 +199,7 @@ Returns the ``linear_velocity`` vector, rotated and/or scaled if a slide collisi
 
 
 .. _class_KinematicBody2D_method_move_and_slide_with_snap:
 .. _class_KinematicBody2D_method_move_and_slide_with_snap:
 
 
-- :ref:`Vector2<class_Vector2>` **move_and_slide_with_snap** **(** :ref:`Vector2<class_Vector2>` linear_velocity, :ref:`Vector2<class_Vector2>` snap, :ref:`Vector2<class_Vector2>` floor_normal=Vector2( 0, 0 ), :ref:`bool<class_bool>` stop_on_slope=false, :ref:`int<class_int>` max_slides=4, :ref:`float<class_float>` floor_max_angle=0.785398, :ref:`bool<class_bool>` infinite_inertia=true **)**
+- :ref:`Vector2<class_Vector2>` **move_and_slide_with_snap** **(** :ref:`Vector2<class_Vector2>` linear_velocity, :ref:`Vector2<class_Vector2>` snap, :ref:`Vector2<class_Vector2>` up_direction=Vector2( 0, 0 ), :ref:`bool<class_bool>` stop_on_slope=false, :ref:`int<class_int>` max_slides=4, :ref:`float<class_float>` floor_max_angle=0.785398, :ref:`bool<class_bool>` infinite_inertia=true **)**
 
 
 Moves the body while keeping it attached to slopes. Similar to :ref:`move_and_slide<class_KinematicBody2D_method_move_and_slide>`.
 Moves the body while keeping it attached to slopes. Similar to :ref:`move_and_slide<class_KinematicBody2D_method_move_and_slide>`.
 
 

+ 1 - 1
classes/class_kinematiccollision.rst

@@ -164,7 +164,7 @@ The colliding body's shape's normal at the point of collision.
 | *Getter*  | get_position()     |
 | *Getter*  | get_position()     |
 +-----------+--------------------+
 +-----------+--------------------+
 
 
-The point of collision.
+The point of collision, in global coordinates.
 
 
 ----
 ----
 
 

+ 1 - 1
classes/class_kinematiccollision2d.rst

@@ -164,7 +164,7 @@ The colliding body's shape's normal at the point of collision.
 | *Getter*  | get_position()  |
 | *Getter*  | get_position()  |
 +-----------+-----------------+
 +-----------+-----------------+
 
 
-The point of collision.
+The point of collision, in global coordinates.
 
 
 ----
 ----
 
 

+ 21 - 15
classes/class_light.rst

@@ -104,35 +104,35 @@ Enumerations
 
 
 enum **Param**:
 enum **Param**:
 
 
-- **PARAM_ENERGY** = **0**
+- **PARAM_ENERGY** = **0** --- Constant for accessing :ref:`light_energy<class_Light_property_light_energy>`.
 
 
-- **PARAM_INDIRECT_ENERGY** = **1**
+- **PARAM_INDIRECT_ENERGY** = **1** --- Constant for accessing :ref:`light_indirect_energy<class_Light_property_light_indirect_energy>`.
 
 
-- **PARAM_SPECULAR** = **2**
+- **PARAM_SPECULAR** = **2** --- Constant for accessing :ref:`light_specular<class_Light_property_light_specular>`.
 
 
-- **PARAM_RANGE** = **3**
+- **PARAM_RANGE** = **3** --- Constant for accessing :ref:`OmniLight.omni_range<class_OmniLight_property_omni_range>` or :ref:`SpotLight.spot_range<class_SpotLight_property_spot_range>`.
 
 
-- **PARAM_ATTENUATION** = **4**
+- **PARAM_ATTENUATION** = **4** --- Constant for accessing :ref:`OmniLight.omni_attenuation<class_OmniLight_property_omni_attenuation>` or :ref:`SpotLight.spot_attenuation<class_SpotLight_property_spot_attenuation>`.
 
 
-- **PARAM_SPOT_ANGLE** = **5**
+- **PARAM_SPOT_ANGLE** = **5** --- Constant for accessing :ref:`SpotLight.spot_angle<class_SpotLight_property_spot_angle>`.
 
 
-- **PARAM_SPOT_ATTENUATION** = **6**
+- **PARAM_SPOT_ATTENUATION** = **6** --- Constant for accessing :ref:`SpotLight.spot_angle_attenuation<class_SpotLight_property_spot_angle_attenuation>`.
 
 
-- **PARAM_CONTACT_SHADOW_SIZE** = **7**
+- **PARAM_CONTACT_SHADOW_SIZE** = **7** --- Constant for accessing :ref:`shadow_contact<class_Light_property_shadow_contact>`.
 
 
-- **PARAM_SHADOW_MAX_DISTANCE** = **8**
+- **PARAM_SHADOW_MAX_DISTANCE** = **8** --- Constant for accessing :ref:`DirectionalLight.directional_shadow_max_distance<class_DirectionalLight_property_directional_shadow_max_distance>`.
 
 
-- **PARAM_SHADOW_SPLIT_1_OFFSET** = **9**
+- **PARAM_SHADOW_SPLIT_1_OFFSET** = **9** --- Constant for accessing :ref:`DirectionalLight.directional_shadow_split_1<class_DirectionalLight_property_directional_shadow_split_1>`.
 
 
-- **PARAM_SHADOW_SPLIT_2_OFFSET** = **10**
+- **PARAM_SHADOW_SPLIT_2_OFFSET** = **10** --- Constant for accessing :ref:`DirectionalLight.directional_shadow_split_2<class_DirectionalLight_property_directional_shadow_split_2>`.
 
 
-- **PARAM_SHADOW_SPLIT_3_OFFSET** = **11**
+- **PARAM_SHADOW_SPLIT_3_OFFSET** = **11** --- Constant for accessing :ref:`DirectionalLight.directional_shadow_split_3<class_DirectionalLight_property_directional_shadow_split_3>`.
 
 
-- **PARAM_SHADOW_NORMAL_BIAS** = **12**
+- **PARAM_SHADOW_NORMAL_BIAS** = **12** --- Constant for accessing :ref:`DirectionalLight.directional_shadow_normal_bias<class_DirectionalLight_property_directional_shadow_normal_bias>`.
 
 
-- **PARAM_SHADOW_BIAS** = **13**
+- **PARAM_SHADOW_BIAS** = **13** --- Constant for accessing :ref:`shadow_bias<class_Light_property_shadow_bias>`.
 
 
-- **PARAM_SHADOW_BIAS_SPLIT_SCALE** = **14**
+- **PARAM_SHADOW_BIAS_SPLIT_SCALE** = **14** --- Constant for accessing :ref:`DirectionalLight.directional_shadow_bias_split_scale<class_DirectionalLight_property_directional_shadow_bias_split_scale>`.
 
 
 - **PARAM_MAX** = **15** --- Represents the size of the :ref:`Param<enum_Light_Param>` enum.
 - **PARAM_MAX** = **15** --- Represents the size of the :ref:`Param<enum_Light_Param>` enum.
 
 
@@ -365,6 +365,8 @@ If ``true``, the light will cast shadows.
 | *Getter*  | get_shadow_reverse_cull_face()      |
 | *Getter*  | get_shadow_reverse_cull_face()      |
 +-----------+-------------------------------------+
 +-----------+-------------------------------------+
 
 
+If ``true``, reverses the backface culling of the mesh. This can be useful when you have a flat mesh that has a light behind it. If you need to cast a shadow on both sides of the mesh, set the mesh to use double-sided shadows with :ref:`GeometryInstance.SHADOW_CASTING_SETTING_DOUBLE_SIDED<class_GeometryInstance_constant_SHADOW_CASTING_SETTING_DOUBLE_SIDED>`.
+
 Method Descriptions
 Method Descriptions
 -------------------
 -------------------
 
 
@@ -372,9 +374,13 @@ Method Descriptions
 
 
 - :ref:`float<class_float>` **get_param** **(** :ref:`Param<enum_Light_Param>` param **)** const
 - :ref:`float<class_float>` **get_param** **(** :ref:`Param<enum_Light_Param>` param **)** const
 
 
+Returns the value of the specified :ref:`Param<enum_Light_Param>` parameter.
+
 ----
 ----
 
 
 .. _class_Light_method_set_param:
 .. _class_Light_method_set_param:
 
 
 - void **set_param** **(** :ref:`Param<enum_Light_Param>` param, :ref:`float<class_float>` value **)**
 - void **set_param** **(** :ref:`Param<enum_Light_Param>` param, :ref:`float<class_float>` value **)**
 
 
+Sets the value of the specified :ref:`Param<enum_Light_Param>` parameter.
+

+ 21 - 1
classes/class_lineedit.rst

@@ -16,7 +16,7 @@ Control that provides single-line string editing.
 Description
 Description
 -----------
 -----------
 
 
-LineEdit provides a single-line string editor, used for text fields. It features many built-in shortcuts which will always be available:
+LineEdit provides a single-line string editor, used for text fields. It features many built-in shortcuts which will always be available: (the Ctrl here maps to Command on macOS)
 
 
 - Ctrl + C: Copy
 - Ctrl + C: Copy
 
 
@@ -36,6 +36,24 @@ LineEdit provides a single-line string editor, used for text fields. It features
 
 
 - Up/Down arrow: Move the cursor to the beginning/end of the line
 - Up/Down arrow: Move the cursor to the beginning/end of the line
 
 
+On macOS, some extra keyboard shortcuts are available:
+
+- Ctrl + F: Like the right arrow key, move the cursor one character right
+
+- Ctrl + B: Like the left arrow key, move the cursor one character left
+
+- Ctrl + P: Like the up arrow key, move the cursor to the previous line
+
+- Ctrl + N: Like the down arrow key, move the cursor to the next line
+
+- Ctrl + D: Like the Delete key, delete the character on the right side of cursor
+
+- Ctrl + H: Like the Backspace key, delete the character on the left side of the cursor
+
+- Command + Left arrow: Like the Home key, move the cursor to the beginning of the line
+
+- Command + Right arrow: Like the End key, move the cursor to the end of the line
+
 Properties
 Properties
 ----------
 ----------
 
 
@@ -488,6 +506,8 @@ If ``false``, using shortcuts will be disabled.
 
 
 String value of the ``LineEdit``.
 String value of the ``LineEdit``.
 
 
+**Note:** Changing text using this property won't emit the :ref:`text_changed<class_LineEdit_signal_text_changed>` signal.
+
 Method Descriptions
 Method Descriptions
 -------------------
 -------------------
 
 

+ 3 - 1
classes/class_menubutton.rst

@@ -16,7 +16,9 @@ Special button that brings up a :ref:`PopupMenu<class_PopupMenu>` when clicked.
 Description
 Description
 -----------
 -----------
 
 
-Special button that brings up a :ref:`PopupMenu<class_PopupMenu>` when clicked. That's pretty much all it does, as it's just a helper class when building GUIs.
+Special button that brings up a :ref:`PopupMenu<class_PopupMenu>` when clicked. 
+
+New items can be created inside this :ref:`PopupMenu<class_PopupMenu>` using ``get_popup().add_item("My Item Name")``. You can also create them directly from the editor. To do so, select the MenuButton node, then in the toolbar at the top of the 2D editor, click **Items** then click **Add** in the popup. You will be able to give each items new properties.
 
 
 Properties
 Properties
 ----------
 ----------

+ 26 - 24
classes/class_mesh.rst

@@ -99,9 +99,9 @@ enum **PrimitiveType**:
 
 
 enum **BlendShapeMode**:
 enum **BlendShapeMode**:
 
 
-- **BLEND_SHAPE_MODE_NORMALIZED** = **0**
+- **BLEND_SHAPE_MODE_NORMALIZED** = **0** --- Blend shapes are normalized.
 
 
-- **BLEND_SHAPE_MODE_RELATIVE** = **1**
+- **BLEND_SHAPE_MODE_RELATIVE** = **1** --- Blend shapes are relative to base weight.
 
 
 ----
 ----
 
 
@@ -153,49 +153,49 @@ enum **BlendShapeMode**:
 
 
 enum **ArrayFormat**:
 enum **ArrayFormat**:
 
 
-- **ARRAY_FORMAT_VERTEX** = **1**
+- **ARRAY_FORMAT_VERTEX** = **1** --- Mesh array contains vertices. All meshes require a vertex array so this should always be present.
 
 
-- **ARRAY_FORMAT_NORMAL** = **2**
+- **ARRAY_FORMAT_NORMAL** = **2** --- Mesh array contains normals.
 
 
-- **ARRAY_FORMAT_TANGENT** = **4**
+- **ARRAY_FORMAT_TANGENT** = **4** --- Mesh array contains tangents.
 
 
-- **ARRAY_FORMAT_COLOR** = **8**
+- **ARRAY_FORMAT_COLOR** = **8** --- Mesh array contains colors.
 
 
-- **ARRAY_FORMAT_TEX_UV** = **16**
+- **ARRAY_FORMAT_TEX_UV** = **16** --- Mesh array contains UVs.
 
 
-- **ARRAY_FORMAT_TEX_UV2** = **32**
+- **ARRAY_FORMAT_TEX_UV2** = **32** --- Mesh array contains second UV.
 
 
-- **ARRAY_FORMAT_BONES** = **64**
+- **ARRAY_FORMAT_BONES** = **64** --- Mesh array contains bones.
 
 
-- **ARRAY_FORMAT_WEIGHTS** = **128**
+- **ARRAY_FORMAT_WEIGHTS** = **128** --- Mesh array contains bone weights.
 
 
-- **ARRAY_FORMAT_INDEX** = **256**
+- **ARRAY_FORMAT_INDEX** = **256** --- Mesh array uses indices.
 
 
-- **ARRAY_COMPRESS_BASE** = **9**
+- **ARRAY_COMPRESS_BASE** = **9** --- Used internally to calculate other ``ARRAY_COMPRESS_*`` enum values. Do not use.
 
 
-- **ARRAY_COMPRESS_VERTEX** = **512**
+- **ARRAY_COMPRESS_VERTEX** = **512** --- Flag used to mark a compressed (half float) vertex array.
 
 
-- **ARRAY_COMPRESS_NORMAL** = **1024**
+- **ARRAY_COMPRESS_NORMAL** = **1024** --- Flag used to mark a compressed (half float) normal array.
 
 
-- **ARRAY_COMPRESS_TANGENT** = **2048**
+- **ARRAY_COMPRESS_TANGENT** = **2048** --- Flag used to mark a compressed (half float) tangent array.
 
 
-- **ARRAY_COMPRESS_COLOR** = **4096**
+- **ARRAY_COMPRESS_COLOR** = **4096** --- Flag used to mark a compressed (half float) color array.
 
 
-- **ARRAY_COMPRESS_TEX_UV** = **8192**
+- **ARRAY_COMPRESS_TEX_UV** = **8192** --- Flag used to mark a compressed (half float) UV coordinates array.
 
 
-- **ARRAY_COMPRESS_TEX_UV2** = **16384**
+- **ARRAY_COMPRESS_TEX_UV2** = **16384** --- Flag used to mark a compressed (half float) UV coordinates array for the second UV coordinates.
 
 
-- **ARRAY_COMPRESS_BONES** = **32768**
+- **ARRAY_COMPRESS_BONES** = **32768** --- Flag used to mark a compressed bone array.
 
 
-- **ARRAY_COMPRESS_WEIGHTS** = **65536**
+- **ARRAY_COMPRESS_WEIGHTS** = **65536** --- Flag used to mark a compressed (half float) weight array.
 
 
-- **ARRAY_COMPRESS_INDEX** = **131072**
+- **ARRAY_COMPRESS_INDEX** = **131072** --- Flag used to mark a compressed index array.
 
 
-- **ARRAY_FLAG_USE_2D_VERTICES** = **262144**
+- **ARRAY_FLAG_USE_2D_VERTICES** = **262144** --- Flag used to mark that the array contains 2D vertices.
 
 
-- **ARRAY_FLAG_USE_16_BIT_BONES** = **524288**
+- **ARRAY_FLAG_USE_16_BIT_BONES** = **524288** --- Flag used to mark that the array uses 16-bit bones instead of 8-bit.
 
 
-- **ARRAY_COMPRESS_DEFAULT** = **97280**
+- **ARRAY_COMPRESS_DEFAULT** = **97280** --- Used to set flags :ref:`ARRAY_COMPRESS_VERTEX<class_Mesh_constant_ARRAY_COMPRESS_VERTEX>`, :ref:`ARRAY_COMPRESS_NORMAL<class_Mesh_constant_ARRAY_COMPRESS_NORMAL>`, :ref:`ARRAY_COMPRESS_TANGENT<class_Mesh_constant_ARRAY_COMPRESS_TANGENT>`, :ref:`ARRAY_COMPRESS_COLOR<class_Mesh_constant_ARRAY_COMPRESS_COLOR>`, :ref:`ARRAY_COMPRESS_TEX_UV<class_Mesh_constant_ARRAY_COMPRESS_TEX_UV>`, :ref:`ARRAY_COMPRESS_TEX_UV2<class_Mesh_constant_ARRAY_COMPRESS_TEX_UV2>` and :ref:`ARRAY_COMPRESS_WEIGHTS<class_Mesh_constant_ARRAY_COMPRESS_WEIGHTS>` quickly.
 
 
 ----
 ----
 
 
@@ -258,6 +258,8 @@ Property Descriptions
 | *Getter*  | get_lightmap_size_hint()      |
 | *Getter*  | get_lightmap_size_hint()      |
 +-----------+-------------------------------+
 +-----------+-------------------------------+
 
 
+Sets a hint to be used for lightmap resolution in :ref:`BakedLightmap<class_BakedLightmap>`. Overrides :ref:`BakedLightmap.bake_default_texels_per_unit<class_BakedLightmap_property_bake_default_texels_per_unit>`.
+
 Method Descriptions
 Method Descriptions
 -------------------
 -------------------
 
 

+ 2 - 0
classes/class_meshinstance.rst

@@ -91,6 +91,8 @@ The :ref:`Mesh<class_Mesh>` resource for the instance.
 | *Getter* | get_skin()      |
 | *Getter* | get_skin()      |
 +----------+-----------------+
 +----------+-----------------+
 
 
+Sets the skin to be used by this instance.
+
 Method Descriptions
 Method Descriptions
 -------------------
 -------------------
 
 

+ 2 - 0
classes/class_meshinstance2d.rst

@@ -41,6 +41,8 @@ Signals
 
 
 - **texture_changed** **(** **)**
 - **texture_changed** **(** **)**
 
 
+Emitted when the :ref:`texture<class_MeshInstance2D_property_texture>` is changed.
+
 Property Descriptions
 Property Descriptions
 ---------------------
 ---------------------
 
 

+ 2 - 0
classes/class_multimeshinstance.rst

@@ -27,6 +27,8 @@ Tutorials
 
 
 - :doc:`../tutorials/3d/using_multi_mesh_instance`
 - :doc:`../tutorials/3d/using_multi_mesh_instance`
 
 
+- :doc:`../tutorials/optimization/using_multimesh`
+
 Properties
 Properties
 ----------
 ----------
 
 

+ 2 - 0
classes/class_multimeshinstance2d.rst

@@ -38,6 +38,8 @@ Signals
 
 
 - **texture_changed** **(** **)**
 - **texture_changed** **(** **)**
 
 
+Emitted when the :ref:`texture<class_MultiMeshInstance2D_property_texture>` is changed.
+
 Property Descriptions
 Property Descriptions
 ---------------------
 ---------------------
 
 

+ 1 - 1
classes/class_object.rst

@@ -9,7 +9,7 @@
 Object
 Object
 ======
 ======
 
 
-**Inherited By:** :ref:`ARVRPositionalTracker<class_ARVRPositionalTracker>`, :ref:`ARVRServer<class_ARVRServer>`, :ref:`AudioServer<class_AudioServer>`, :ref:`CameraServer<class_CameraServer>`, :ref:`ClassDB<class_ClassDB>`, :ref:`EditorFileSystemDirectory<class_EditorFileSystemDirectory>`, :ref:`EditorNavigationMeshGenerator<class_EditorNavigationMeshGenerator>`, :ref:`EditorSelection<class_EditorSelection>`, :ref:`EditorVCSInterface<class_EditorVCSInterface>`, :ref:`Engine<class_Engine>`, :ref:`Geometry<class_Geometry>`, :ref:`GodotSharp<class_GodotSharp>`, :ref:`IP<class_IP>`, :ref:`Input<class_Input>`, :ref:`InputMap<class_InputMap>`, :ref:`JSON<class_JSON>`, :ref:`JSONRPC<class_JSONRPC>`, :ref:`JavaScript<class_JavaScript>`, :ref:`MainLoop<class_MainLoop>`, :ref:`Node<class_Node>`, :ref:`OS<class_OS>`, :ref:`Performance<class_Performance>`, :ref:`Physics2DDirectBodyState<class_Physics2DDirectBodyState>`, :ref:`Physics2DDirectSpaceState<class_Physics2DDirectSpaceState>`, :ref:`Physics2DServer<class_Physics2DServer>`, :ref:`PhysicsDirectBodyState<class_PhysicsDirectBodyState>`, :ref:`PhysicsDirectSpaceState<class_PhysicsDirectSpaceState>`, :ref:`PhysicsServer<class_PhysicsServer>`, :ref:`ProjectSettings<class_ProjectSettings>`, :ref:`Reference<class_Reference>`, :ref:`ResourceLoader<class_ResourceLoader>`, :ref:`ResourceSaver<class_ResourceSaver>`, :ref:`TranslationServer<class_TranslationServer>`, :ref:`TreeItem<class_TreeItem>`, :ref:`UndoRedo<class_UndoRedo>`, :ref:`VisualScriptEditor<class_VisualScriptEditor>`, :ref:`VisualServer<class_VisualServer>`
+**Inherited By:** :ref:`ARVRPositionalTracker<class_ARVRPositionalTracker>`, :ref:`ARVRServer<class_ARVRServer>`, :ref:`AudioServer<class_AudioServer>`, :ref:`CameraServer<class_CameraServer>`, :ref:`ClassDB<class_ClassDB>`, :ref:`EditorFileSystemDirectory<class_EditorFileSystemDirectory>`, :ref:`EditorNavigationMeshGenerator<class_EditorNavigationMeshGenerator>`, :ref:`EditorSelection<class_EditorSelection>`, :ref:`EditorVCSInterface<class_EditorVCSInterface>`, :ref:`Engine<class_Engine>`, :ref:`Geometry<class_Geometry>`, :ref:`GodotSharp<class_GodotSharp>`, :ref:`IP<class_IP>`, :ref:`Input<class_Input>`, :ref:`InputMap<class_InputMap>`, :ref:`JSON<class_JSON>`, :ref:`JSONRPC<class_JSONRPC>`, :ref:`JavaClassWrapper<class_JavaClassWrapper>`, :ref:`JavaScript<class_JavaScript>`, :ref:`MainLoop<class_MainLoop>`, :ref:`Node<class_Node>`, :ref:`OS<class_OS>`, :ref:`Performance<class_Performance>`, :ref:`Physics2DDirectBodyState<class_Physics2DDirectBodyState>`, :ref:`Physics2DDirectSpaceState<class_Physics2DDirectSpaceState>`, :ref:`Physics2DServer<class_Physics2DServer>`, :ref:`PhysicsDirectBodyState<class_PhysicsDirectBodyState>`, :ref:`PhysicsDirectSpaceState<class_PhysicsDirectSpaceState>`, :ref:`PhysicsServer<class_PhysicsServer>`, :ref:`ProjectSettings<class_ProjectSettings>`, :ref:`Reference<class_Reference>`, :ref:`ResourceLoader<class_ResourceLoader>`, :ref:`ResourceSaver<class_ResourceSaver>`, :ref:`TranslationServer<class_TranslationServer>`, :ref:`TreeItem<class_TreeItem>`, :ref:`UndoRedo<class_UndoRedo>`, :ref:`VisualScriptEditor<class_VisualScriptEditor>`, :ref:`VisualServer<class_VisualServer>`
 
 
 Base class for all non built-in types.
 Base class for all non built-in types.
 
 

+ 2 - 2
classes/class_omnilight.rst

@@ -61,9 +61,9 @@ enum **ShadowMode**:
 
 
 enum **ShadowDetail**:
 enum **ShadowDetail**:
 
 
-- **SHADOW_DETAIL_VERTICAL** = **0**
+- **SHADOW_DETAIL_VERTICAL** = **0** --- Use more detail vertically when computing the shadow.
 
 
-- **SHADOW_DETAIL_HORIZONTAL** = **1**
+- **SHADOW_DETAIL_HORIZONTAL** = **1** --- Use more detail horizontally when computing the shadow.
 
 
 Property Descriptions
 Property Descriptions
 ---------------------
 ---------------------

+ 23 - 3
classes/class_packetpeer.rst

@@ -23,9 +23,11 @@ PacketPeer is an abstraction and base class for packet-based protocols (such as
 Properties
 Properties
 ----------
 ----------
 
 
-+-------------------------+-------------------------------------------------------------------------------+-------+
-| :ref:`bool<class_bool>` | :ref:`allow_object_decoding<class_PacketPeer_property_allow_object_decoding>` | false |
-+-------------------------+-------------------------------------------------------------------------------+-------+
++-------------------------+---------------------------------------------------------------------------------+---------+
+| :ref:`bool<class_bool>` | :ref:`allow_object_decoding<class_PacketPeer_property_allow_object_decoding>`   | false   |
++-------------------------+---------------------------------------------------------------------------------+---------+
+| :ref:`int<class_int>`   | :ref:`encode_buffer_max_size<class_PacketPeer_property_encode_buffer_max_size>` | 8388608 |
++-------------------------+---------------------------------------------------------------------------------+---------+
 
 
 Methods
 Methods
 -------
 -------
@@ -65,6 +67,24 @@ If ``true``, the PacketPeer will allow encoding and decoding of object via :ref:
 
 
 **Warning:** Deserialized objects can contain code which gets executed. Do not use this option if the serialized object comes from untrusted sources to avoid potential security threats such as remote code execution.
 **Warning:** Deserialized objects can contain code which gets executed. Do not use this option if the serialized object comes from untrusted sources to avoid potential security threats such as remote code execution.
 
 
+----
+
+.. _class_PacketPeer_property_encode_buffer_max_size:
+
+- :ref:`int<class_int>` **encode_buffer_max_size**
+
++-----------+-----------------------------------+
+| *Default* | 8388608                           |
++-----------+-----------------------------------+
+| *Setter*  | set_encode_buffer_max_size(value) |
++-----------+-----------------------------------+
+| *Getter*  | get_encode_buffer_max_size()      |
++-----------+-----------------------------------+
+
+Maximum buffer size allowed when encoding :ref:`Variant<class_Variant>`\ s. Raise this value to support heavier memory allocations.
+
+The :ref:`put_var<class_PacketPeer_method_put_var>` method allocates memory on the stack, and the buffer used will grow automatically to the closest power of two to match the size of the :ref:`Variant<class_Variant>`. If the :ref:`Variant<class_Variant>` is bigger than ``encode_buffer_max_size``, the method will error out with :ref:`@GlobalScope.ERR_OUT_OF_MEMORY<class_@GlobalScope_constant_ERR_OUT_OF_MEMORY>`.
+
 Method Descriptions
 Method Descriptions
 -------------------
 -------------------
 
 

+ 4 - 0
classes/class_particlesmaterial.rst

@@ -253,6 +253,8 @@ enum **Flags**:
 
 
 .. _class_ParticlesMaterial_constant_EMISSION_SHAPE_DIRECTED_POINTS:
 .. _class_ParticlesMaterial_constant_EMISSION_SHAPE_DIRECTED_POINTS:
 
 
+.. _class_ParticlesMaterial_constant_EMISSION_SHAPE_MAX:
+
 enum **EmissionShape**:
 enum **EmissionShape**:
 
 
 - **EMISSION_SHAPE_POINT** = **0** --- All particles will be emitted from a single point.
 - **EMISSION_SHAPE_POINT** = **0** --- All particles will be emitted from a single point.
@@ -265,6 +267,8 @@ enum **EmissionShape**:
 
 
 - **EMISSION_SHAPE_DIRECTED_POINTS** = **4** --- Particles will be emitted at a position determined by sampling a random point on the :ref:`emission_point_texture<class_ParticlesMaterial_property_emission_point_texture>`. Particle velocity and rotation will be set based on :ref:`emission_normal_texture<class_ParticlesMaterial_property_emission_normal_texture>`. Particle color will be modulated by :ref:`emission_color_texture<class_ParticlesMaterial_property_emission_color_texture>`.
 - **EMISSION_SHAPE_DIRECTED_POINTS** = **4** --- Particles will be emitted at a position determined by sampling a random point on the :ref:`emission_point_texture<class_ParticlesMaterial_property_emission_point_texture>`. Particle velocity and rotation will be set based on :ref:`emission_normal_texture<class_ParticlesMaterial_property_emission_normal_texture>`. Particle color will be modulated by :ref:`emission_color_texture<class_ParticlesMaterial_property_emission_color_texture>`.
 
 
+- **EMISSION_SHAPE_MAX** = **5** --- Represents the size of the :ref:`EmissionShape<enum_ParticlesMaterial_EmissionShape>` enum.
+
 Property Descriptions
 Property Descriptions
 ---------------------
 ---------------------
 
 

文件差異過大導致無法顯示
+ 0 - 0
classes/class_reference.rst


+ 5 - 0
classes/class_texture3d.rst

@@ -11,7 +11,12 @@ Texture3D
 
 
 **Inherits:** :ref:`TextureLayered<class_TextureLayered>` **<** :ref:`Resource<class_Resource>` **<** :ref:`Reference<class_Reference>` **<** :ref:`Object<class_Object>`
 **Inherits:** :ref:`TextureLayered<class_TextureLayered>` **<** :ref:`Resource<class_Resource>` **<** :ref:`Reference<class_Reference>` **<** :ref:`Object<class_Object>`
 
 
+Texture with 3 dimensions.
 
 
+Description
+-----------
+
+Texture3D is a 3-dimensional texture that has a width, height, and depth.
 
 
 Properties
 Properties
 ----------
 ----------

+ 2 - 0
classes/class_timer.rst

@@ -87,6 +87,8 @@ Property Descriptions
 
 
 If ``true``, the timer will automatically start when entering the scene tree.
 If ``true``, the timer will automatically start when entering the scene tree.
 
 
+**Note:** This property is automatically set to ``false`` after the timer enters the scene tree and starts.
+
 ----
 ----
 
 
 .. _class_Timer_property_one_shot:
 .. _class_Timer_property_one_shot:

+ 7 - 3
classes/class_videoplayer.rst

@@ -229,7 +229,7 @@ Method Descriptions
 
 
 - :ref:`String<class_String>` **get_stream_name** **(** **)** const
 - :ref:`String<class_String>` **get_stream_name** **(** **)** const
 
 
-Returns the video stream's name.
+Returns the video stream's name, or ``"<No Stream>"`` if no video stream is assigned.
 
 
 ----
 ----
 
 
@@ -247,13 +247,15 @@ Returns the current frame as a :ref:`Texture<class_Texture>`.
 
 
 Returns ``true`` if the video is playing.
 Returns ``true`` if the video is playing.
 
 
+**Note:** The video is still considered playing if paused during playback.
+
 ----
 ----
 
 
 .. _class_VideoPlayer_method_play:
 .. _class_VideoPlayer_method_play:
 
 
 - void **play** **(** **)**
 - void **play** **(** **)**
 
 
-Starts the video playback.
+Starts the video playback from the beginning. If the video is paused, this will not unpause the video.
 
 
 ----
 ----
 
 
@@ -261,5 +263,7 @@ Starts the video playback.
 
 
 - void **stop** **(** **)**
 - void **stop** **(** **)**
 
 
-Stops the video playback.
+Stops the video playback and sets the stream position to 0.
+
+**Note:** Although the stream position will be set to 0, the first frame of the video stream won't become the current frame.
 
 

+ 14 - 3
classes/class_visualinstance.rst

@@ -13,7 +13,12 @@ VisualInstance
 
 
 **Inherited By:** :ref:`BakedLightmap<class_BakedLightmap>`, :ref:`GIProbe<class_GIProbe>`, :ref:`GeometryInstance<class_GeometryInstance>`, :ref:`Light<class_Light>`, :ref:`ReflectionProbe<class_ReflectionProbe>`, :ref:`RootMotionView<class_RootMotionView>`
 **Inherited By:** :ref:`BakedLightmap<class_BakedLightmap>`, :ref:`GIProbe<class_GIProbe>`, :ref:`GeometryInstance<class_GeometryInstance>`, :ref:`Light<class_Light>`, :ref:`ReflectionProbe<class_ReflectionProbe>`, :ref:`RootMotionView<class_RootMotionView>`
 
 
+Parent of all visual 3D nodes.
 
 
+Description
+-----------
+
+The VisualInstance is used to connect a resource to a visual representation. All visual 3D nodes inherit from the VisualInstance. In general, you should not access the VisualInstance properties directly as they are accessed and managed by the nodes that inherit from VisualInstance. VisualInstance is the node representation of the :ref:`VisualServer<class_VisualServer>` instance.
 
 
 Properties
 Properties
 ----------
 ----------
@@ -75,18 +80,24 @@ Returns the :ref:`AABB<class_AABB>` (also known as the bounding box) for this Vi
 
 
 - :ref:`RID<class_RID>` **get_base** **(** **)** const
 - :ref:`RID<class_RID>` **get_base** **(** **)** const
 
 
+Returns the RID of the resource associated with this VisualInstance. For example, if the Node is a :ref:`MeshInstance<class_MeshInstance>`, this will return the RID of the associated :ref:`Mesh<class_Mesh>`.
+
 ----
 ----
 
 
 .. _class_VisualInstance_method_get_instance:
 .. _class_VisualInstance_method_get_instance:
 
 
 - :ref:`RID<class_RID>` **get_instance** **(** **)** const
 - :ref:`RID<class_RID>` **get_instance** **(** **)** const
 
 
+Returns the RID of this instance. This RID is the same as the RID returned by :ref:`VisualServer.instance_create<class_VisualServer_method_instance_create>`. This RID is needed if you want to call :ref:`VisualServer<class_VisualServer>` functions directly on this VisualInstance.
+
 ----
 ----
 
 
 .. _class_VisualInstance_method_get_layer_mask_bit:
 .. _class_VisualInstance_method_get_layer_mask_bit:
 
 
 - :ref:`bool<class_bool>` **get_layer_mask_bit** **(** :ref:`int<class_int>` layer **)** const
 - :ref:`bool<class_bool>` **get_layer_mask_bit** **(** :ref:`int<class_int>` layer **)** const
 
 
+Returns ``true`` when the specified layer is enabled in :ref:`layers<class_VisualInstance_property_layers>` and ``false`` otherwise.
+
 ----
 ----
 
 
 .. _class_VisualInstance_method_get_transformed_aabb:
 .. _class_VisualInstance_method_get_transformed_aabb:
@@ -103,9 +114,7 @@ Transformed in this case means the :ref:`AABB<class_AABB>` plus the position, ro
 
 
 - void **set_base** **(** :ref:`RID<class_RID>` base **)**
 - void **set_base** **(** :ref:`RID<class_RID>` base **)**
 
 
-Sets the base of the VisualInstance, which changes how the engine handles the VisualInstance under the hood.
-
-It is recommended to only use :ref:`set_base<class_VisualInstance_method_set_base>` if you know what you're doing.
+Sets the resource that is instantiated by this VisualInstance, which changes how the engine handles the VisualInstance under the hood. Equivalent to :ref:`VisualServer.instance_set_base<class_VisualServer_method_instance_set_base>`.
 
 
 ----
 ----
 
 
@@ -113,3 +122,5 @@ It is recommended to only use :ref:`set_base<class_VisualInstance_method_set_bas
 
 
 - void **set_layer_mask_bit** **(** :ref:`int<class_int>` layer, :ref:`bool<class_bool>` enabled **)**
 - void **set_layer_mask_bit** **(** :ref:`int<class_int>` layer, :ref:`bool<class_bool>` enabled **)**
 
 
+Enables a particular layer in :ref:`layers<class_VisualInstance_property_layers>`.
+

+ 25 - 7
classes/class_websocketserver.rst

@@ -25,13 +25,15 @@ After starting the server (:ref:`listen<class_WebSocketServer_method_listen>`),
 Properties
 Properties
 ----------
 ----------
 
 
-+-----------------------------------------------+------------------------------------------------------------------------+
-| :ref:`X509Certificate<class_X509Certificate>` | :ref:`ca_chain<class_WebSocketServer_property_ca_chain>`               |
-+-----------------------------------------------+------------------------------------------------------------------------+
-| :ref:`CryptoKey<class_CryptoKey>`             | :ref:`private_key<class_WebSocketServer_property_private_key>`         |
-+-----------------------------------------------+------------------------------------------------------------------------+
-| :ref:`X509Certificate<class_X509Certificate>` | :ref:`ssl_certificate<class_WebSocketServer_property_ssl_certificate>` |
-+-----------------------------------------------+------------------------------------------------------------------------+
++-----------------------------------------------+------------------------------------------------------------------------+------+
+| :ref:`String<class_String>`                   | :ref:`bind_ip<class_WebSocketServer_property_bind_ip>`                 | "\*" |
++-----------------------------------------------+------------------------------------------------------------------------+------+
+| :ref:`X509Certificate<class_X509Certificate>` | :ref:`ca_chain<class_WebSocketServer_property_ca_chain>`               |      |
++-----------------------------------------------+------------------------------------------------------------------------+------+
+| :ref:`CryptoKey<class_CryptoKey>`             | :ref:`private_key<class_WebSocketServer_property_private_key>`         |      |
++-----------------------------------------------+------------------------------------------------------------------------+------+
+| :ref:`X509Certificate<class_X509Certificate>` | :ref:`ssl_certificate<class_WebSocketServer_property_ssl_certificate>` |      |
++-----------------------------------------------+------------------------------------------------------------------------+------+
 
 
 Methods
 Methods
 -------
 -------
@@ -90,6 +92,22 @@ Emitted when a new message is received.
 Property Descriptions
 Property Descriptions
 ---------------------
 ---------------------
 
 
+.. _class_WebSocketServer_property_bind_ip:
+
+- :ref:`String<class_String>` **bind_ip**
+
++-----------+--------------------+
+| *Default* | "\*"               |
++-----------+--------------------+
+| *Setter*  | set_bind_ip(value) |
++-----------+--------------------+
+| *Getter*  | get_bind_ip()      |
++-----------+--------------------+
+
+When not set to ``*`` will restrict incoming connections to the specified IP address. Setting ``bind_ip`` to ``127.0.0.1`` will cause the server to listen only to the local host.
+
+----
+
 .. _class_WebSocketServer_property_ca_chain:
 .. _class_WebSocketServer_property_ca_chain:
 
 
 - :ref:`X509Certificate<class_X509Certificate>` **ca_chain**
 - :ref:`X509Certificate<class_X509Certificate>` **ca_chain**

部分文件因文件數量過多而無法顯示