ソースを参照

Fix most Sphinx warnings

Rémi Verschelde 6 年 前
コミット
739ea5eeb9

+ 1 - 1
classes/class_area.rst

@@ -423,7 +423,7 @@ If ``true``, the given body overlaps the Area. Note that the result of this test
 
 - void **set_collision_layer_bit** **(** :ref:`int<class_int>` bit, :ref:`bool<class_bool>` value **)**
 
-Set/clear individual bits on the layer mask. This simplifies editing this ``Area[code]'s layers.
+Set/clear individual bits on the layer mask. This simplifies editing this ``Area``'s layers.
 
 .. _class_Area_method_set_collision_mask_bit:
 

+ 0 - 2
classes/class_audiostreamplayer.rst

@@ -86,8 +86,6 @@ Plays background audio.
 Tutorials
 ---------
 
-- :doc:`../learning/features/audio/index`
-
 - :doc:`../tutorials/audio/audio_streams`
 
 Property Descriptions

+ 0 - 2
classes/class_audiostreamplayer2d.rst

@@ -71,8 +71,6 @@ Plays audio that dampens with distance from screen center.
 Tutorials
 ---------
 
-- :doc:`../learning/features/audio/index`
-
 - :doc:`../tutorials/audio/audio_streams`
 
 Property Descriptions

+ 0 - 2
classes/class_audiostreamplayer3d.rst

@@ -136,8 +136,6 @@ Plays a sound effect with directed sound effects, dampens with distance if neede
 Tutorials
 ---------
 
-- :doc:`../learning/features/audio/index`
-
 - :doc:`../tutorials/audio/audio_streams`
 
 Property Descriptions

+ 1 - 1
classes/class_basebutton.rst

@@ -176,7 +176,7 @@ If ``true``, the button is in disabled state and can't be clicked or toggled.
 | *Getter* | get_enabled_focus_mode()      |
 +----------+-------------------------------+
 
-Focus access mode to use when switching between enabled/disabled (see :ref:`Control.set_focus_mode<class_Control_method_set_focus_mode>` and :ref:`disabled<class_BaseButton_property_disabled>`).
+Focus access mode to use when switching between enabled/disabled (see :ref:`Control.focus_mode<class_Control_property_focus_mode>` and :ref:`disabled<class_BaseButton_property_disabled>`).
 
 .. _class_BaseButton_property_group:
 

+ 0 - 2
classes/class_basis.rst

@@ -80,8 +80,6 @@ Tutorials
 
 - :doc:`../tutorials/3d/using_transforms`
 
-- :doc:`../tutorials/math/rotations`
-
 Property Descriptions
 ---------------------
 

+ 1 - 1
classes/class_control.rst

@@ -551,7 +551,7 @@ Constants
 
 - **NOTIFICATION_THEME_CHANGED** = **45** --- Sent when the node's :ref:`theme<class_Control_property_theme>` changes, right before Godot redraws the control. Happens when you call one of the ``add_*_override`` methods.
 
-- **NOTIFICATION_MODAL_CLOSE** = **46** --- Sent when an open modal dialog closes. See :ref:`show_modal<class_Control_property_show_modal>`.
+- **NOTIFICATION_MODAL_CLOSE** = **46** --- Sent when an open modal dialog closes. See :ref:`show_modal<class_Control_method_show_modal>`.
 
 - **NOTIFICATION_SCROLL_BEGIN** = **47** --- Sent when this node is inside a :ref:`ScrollContainer<class_ScrollContainer>` which has begun being scrolled.
 

+ 3 - 3
classes/class_directionallight.rst

@@ -165,7 +165,7 @@ Can be used to fix special cases of self shadowing when objects are perpendicula
 | *Getter* | get_param()      |
 +----------+------------------+
 
-The distance from camera to shadow split 1. Relative to :ref:`directional_shadow_max_distance<class_DirectionalLight_property_directional_shadow_max_distance>`. Only used in directional_shadow_mode SHADOW_PARALLEL\_\*_SPLITS.
+The distance from camera to shadow split 1. Relative to :ref:`directional_shadow_max_distance<class_DirectionalLight_property_directional_shadow_max_distance>`. Only used when :ref:`directional_shadow_mode<class_DirectionalLight_property_directional_shadow_mode>` is one of the ``SHADOW_PARALLEL_*_SPLITS`` constants.
 
 .. _class_DirectionalLight_property_directional_shadow_split_2:
 
@@ -177,7 +177,7 @@ The distance from camera to shadow split 1. Relative to :ref:`directional_shadow
 | *Getter* | get_param()      |
 +----------+------------------+
 
-The distance from shadow split 1 to split 2. Relative to :ref:`directional_shadow_max_distance<class_DirectionalLight_property_directional_shadow_max_distance>`. Only used in directional_shadow_mode SHADOW_PARALLEL\_\*_SPLITS.
+The distance from shadow split 1 to split 2. Relative to :ref:`directional_shadow_max_distance<class_DirectionalLight_property_directional_shadow_max_distance>`. Only used when :ref:`directional_shadow_mode<class_DirectionalLight_property_directional_shadow_mode>` is ``SHADOW_PARALLEL_3_SPLITS`` or ``SHADOW_PARALLEL_4_SPLITS``.
 
 .. _class_DirectionalLight_property_directional_shadow_split_3:
 
@@ -189,5 +189,5 @@ The distance from shadow split 1 to split 2. Relative to :ref:`directional_shado
 | *Getter* | get_param()      |
 +----------+------------------+
 
-The distance from shadow split 2 to split 3. Relative to :ref:`directional_shadow_max_distance<class_DirectionalLight_property_directional_shadow_max_distance>`. Only used in directional_shadow_mode SHADOW_PARALLEL_4_SPLITS.
+The distance from shadow split 2 to split 3. Relative to :ref:`directional_shadow_max_distance<class_DirectionalLight_property_directional_shadow_max_distance>`. Only used when :ref:`directional_shadow_mode<class_DirectionalLight_property_directional_shadow_mode>` is ``SHADOW_PARALLEL_4_SPLITS``.
 

+ 1 - 1
classes/class_editorplugin.rst

@@ -247,7 +247,7 @@ Plugins are used by the editor to extend functionality. The most common types of
 Tutorials
 ---------
 
-- :doc:`../development/plugins/index`
+- :doc:`../tutorials/plugins/editor/index`
 
 Method Descriptions
 -------------------

+ 1 - 1
classes/class_editorspatialgizmo.rst

@@ -52,7 +52,7 @@ Methods
 Description
 -----------
 
-Custom gizmo that is used for providing custom visualization and editing (handles) for 3D Spatial objects. These are created by :ref:`EditorPlugin.create_spatial_gizmo<class_EditorPlugin_method_create_spatial_gizmo>`.
+Custom gizmo that is used for providing custom visualization and editing (handles) for 3D Spatial objects. These are created by :ref:`EditorSpatialGizmoPlugin.create_gizmo<class_EditorSpatialGizmoPlugin_method_create_gizmo>`.
 
 Method Descriptions
 -------------------

+ 1 - 1
classes/class_graphedit.rst

@@ -159,7 +159,7 @@ Description
 
 GraphEdit manages the showing of GraphNodes it contains, as well as connections and disconnections between them. Signals are sent for each of these two events. Disconnection between GraphNodes slots is disabled by default.
 
-It is greatly advised to enable low processor usage mode (see :ref:`OS.set_low_processor_usage_mode<class_OS_method_set_low_processor_usage_mode>`) when using GraphEdits.
+It is greatly advised to enable low processor usage mode (see :ref:`OS.low_processor_usage_mode<class_OS_property_low_processor_usage_mode>`) when using GraphEdits.
 
 Property Descriptions
 ---------------------

+ 1 - 1
classes/class_jsonparseresult.rst

@@ -85,7 +85,7 @@ The error message if JSON source was not successfully parsed. See :ref:`@GlobalS
 
 A :ref:`Variant<class_Variant>` containing the parsed JSON. Use typeof() to check if it is what you expect. For example, if JSON source starts with curly braces (``{}``) a :ref:`Dictionary<class_Dictionary>` will be returned, if JSON source starts with braces (``[]``) an :ref:`Array<class_Array>` will be returned.
 
-*Be aware that the JSON specification does not define integer or float types, but only a number type. Therefore, parsing a JSON text will convert all numerical values to float types.
+*Be aware that the JSON specification does not define integer or float types, but only a number type. Therefore, parsing a JSON text will convert all numerical values to float types.*
 
 Note that JSON objects do not preserve key order like Godot dictionaries, thus you should not rely on keys being in a certain order if a dictionary is constructed from JSON. In contrast, JSON arrays retain the order of their elements:*
 

+ 7 - 7
classes/class_light2d.rst

@@ -102,17 +102,17 @@ enum **Mode**:
 
 enum **ShadowFilter**:
 
-- **SHADOW_FILTER_NONE** = **0** --- No filter applies to the shadow map. See :ref:`shadow_filter<class_Light2D_method_shadow_filter>`.
+- **SHADOW_FILTER_NONE** = **0** --- No filter applies to the shadow map. See :ref:`shadow_filter<class_Light2D_property_shadow_filter>`.
 
-- **SHADOW_FILTER_PCF3** = **1** --- Percentage closer filtering (3 samples) applies to the shadow map. See :ref:`shadow_filter<class_Light2D_method_shadow_filter>`.
+- **SHADOW_FILTER_PCF3** = **1** --- Percentage closer filtering (3 samples) applies to the shadow map. See :ref:`shadow_filter<class_Light2D_property_shadow_filter>`.
 
-- **SHADOW_FILTER_PCF5** = **2** --- Percentage closer filtering (5 samples) applies to the shadow map. See :ref:`shadow_filter<class_Light2D_method_shadow_filter>`.
+- **SHADOW_FILTER_PCF5** = **2** --- Percentage closer filtering (5 samples) applies to the shadow map. See :ref:`shadow_filter<class_Light2D_property_shadow_filter>`.
 
-- **SHADOW_FILTER_PCF7** = **3** --- Percentage closer filtering (7 samples) applies to the shadow map. See :ref:`shadow_filter<class_Light2D_method_shadow_filter>`.
+- **SHADOW_FILTER_PCF7** = **3** --- Percentage closer filtering (7 samples) applies to the shadow map. See :ref:`shadow_filter<class_Light2D_property_shadow_filter>`.
 
-- **SHADOW_FILTER_PCF9** = **4** --- Percentage closer filtering (9 samples) applies to the shadow map. See :ref:`shadow_filter<class_Light2D_method_shadow_filter>`.
+- **SHADOW_FILTER_PCF9** = **4** --- Percentage closer filtering (9 samples) applies to the shadow map. See :ref:`shadow_filter<class_Light2D_property_shadow_filter>`.
 
-- **SHADOW_FILTER_PCF13** = **5** --- Percentage closer filtering (13 samples) applies to the shadow map. See :ref:`shadow_filter<class_Light2D_method_shadow_filter>`.
+- **SHADOW_FILTER_PCF13** = **5** --- Percentage closer filtering (13 samples) applies to the shadow map. See :ref:`shadow_filter<class_Light2D_property_shadow_filter>`.
 
 Description
 -----------
@@ -312,7 +312,7 @@ If ``true``, the Light2D will cast shadows. Default value: ``false``.
 | *Getter* | get_shadow_filter()      |
 +----------+--------------------------+
 
-Shadow filter type. Use SHADOW_FILTER\_\* constants to set ``shadow_filter``. Default value: ``None``.
+Shadow filter type. Use :ref:`ShadowFilter<enum_Light2D_ShadowFilter>` constants as values. Default value: ``SHADOW_FILTER_NONE``.
 
 .. _class_Light2D_property_shadow_filter_smooth:
 

+ 13 - 26
classes/class_navigationpolygon.rst

@@ -56,37 +56,24 @@ There are two ways to create polygons. Either by using the :ref:`add_outline<cla
 
 Using :ref:`add_outline<class_NavigationPolygon_method_add_outline>`:
 
-``
+::
 
-var polygon = NavigationPolygon.new()
-
-var outline = PoolVector2Array([Vector2(0, 0), Vector2(0, 50), Vector2(50, 50), Vector2(50, 0)])
-
-polygon.add_outline(outline)
-
-polygon.make_polygons_from_outlines()
-
-$NavigationPolygonInstance.navpoly = polygon
-
-``
+    var polygon = NavigationPolygon.new()
+    var outline = PoolVector2Array([Vector2(0, 0), Vector2(0, 50), Vector2(50, 50), Vector2(50, 0)])
+    polygon.add_outline(outline)
+    polygon.make_polygons_from_outlines()
+    $NavigationPolygonInstance.navpoly = polygon
 
 Using :ref:`add_polygon<class_NavigationPolygon_method_add_polygon>` and indices of the vertices array.
 
-``
-
-var polygon = NavigationPolygon.new()
-
-var vertices = PoolVector2Array([Vector2(0, 0), Vector2(0, 50), Vector2(50, 50), Vector2(50, 0)])
-
-polygon.set_vertices(vertices)
-
-var indices = PoolIntArray(0, 3, 1)
-
-polygon.add_polygon(indices)
-
-$NavigationPolygonInstance.navpoly = polygon
+::
 
-``
+    var polygon = NavigationPolygon.new()
+    var vertices = PoolVector2Array([Vector2(0, 0), Vector2(0, 50), Vector2(50, 50), Vector2(50, 0)])
+    polygon.set_vertices(vertices)
+    var indices = PoolIntArray(0, 3, 1)
+    polygon.add_polygon(indices)
+    $NavigationPolygonInstance.navpoly = polygon
 
 Method Descriptions
 -------------------

+ 1 - 1
classes/class_networkedmultiplayerenet.rst

@@ -82,7 +82,7 @@ enum **CompressionMode**:
 Description
 -----------
 
-A PacketPeer implementation that should be passed to :ref:`SceneTree.set_network_peer<class_SceneTree_method_set_network_peer>` after being initialized as either a client or server. Events can then be handled by connecting to :ref:`SceneTree<class_SceneTree>` signals.
+A PacketPeer implementation that should be passed to :ref:`SceneTree.network_peer<class_SceneTree_property_network_peer>` after being initialized as either a client or server. Events can then be handled by connecting to :ref:`SceneTree<class_SceneTree>` signals.
 
 Tutorials
 ---------

+ 1 - 1
classes/class_os.rst

@@ -1193,7 +1193,7 @@ Requests the OS to open a resource with the most appropriate program. For exampl
 
 ``OS.shell_open("C:\\Users\name\Downloads")`` on Windows opens the file explorer at the downloads folders of the user.
 
-``OS.shell_open("http://godotengine.org")`` opens the default web browser on the official Godot website.
+``OS.shell_open("https://godotengine.org")`` opens the default web browser on the official Godot website.
 
 .. _class_OS_method_show_virtual_keyboard:
 

+ 2 - 2
classes/class_packedscene.rst

@@ -76,7 +76,7 @@ Example of saving a node with different owners: The following example creates 3
     node.add_child(rigid)
     
     # change owner of rigid, but not of collision
-    rigid.set_owner(node)
+    rigid.owner = node
     
     var scene = PackedScene.new()
     # only node and rigid are now packed
@@ -120,5 +120,5 @@ Instantiates the scene's node hierarchy. Triggers child scene instantiation(s).
 
 - :ref:`Error<enum_@GlobalScope_Error>` **pack** **(** :ref:`Node<class_Node>` path **)**
 
-Pack will ignore any sub-nodes not owned by given node. See :ref:`Node.set_owner<class_Node_method_set_owner>`.
+Pack will ignore any sub-nodes not owned by given node. See :ref:`Node.owner<class_Node_property_owner>`.
 

+ 1 - 1
classes/class_physics2dserver.rst

@@ -296,7 +296,7 @@ enum **ShapeType**:
 
 - **SHAPE_CAPSULE** = **5** --- This is the constant for creating capsule shapes. A capsule shape is defined by a radius and a length. It can be used for intersections and inside/outside checks.
 
-- **SHAPE_CONVEX_POLYGON** = **6** --- This is the constant for creating convex polygon shapes. A polygon is defined by a list of points. It can be used for intersections and inside/outside checks. Unlike the method :ref:`CollisionPolygon2D.set_polygon<class_CollisionPolygon2D_method_set_polygon>`, polygons modified with :ref:`shape_set_data<class_Physics2DServer_method_shape_set_data>` do not verify that the points supplied form is a convex polygon.
+- **SHAPE_CONVEX_POLYGON** = **6** --- This is the constant for creating convex polygon shapes. A polygon is defined by a list of points. It can be used for intersections and inside/outside checks. Unlike the :ref:`CollisionPolygon2D.polygon<class_CollisionPolygon2D_property_polygon>` property, polygons modified with :ref:`shape_set_data<class_Physics2DServer_method_shape_set_data>` do not verify that the points supplied form is a convex polygon.
 
 - **SHAPE_CONCAVE_POLYGON** = **7** --- This is the constant for creating concave polygon shapes. A polygon is defined by a list of points. It can be used for intersections checks, but not for inside/outside checks.
 

+ 1 - 1
classes/class_physicsserver.rst

@@ -1258,7 +1258,7 @@ Sets the transform matrix for a body shape.
 
 - void **body_set_space** **(** :ref:`RID<class_RID>` body, :ref:`RID<class_RID>` space **)**
 
-Assigns a space to the body (see :ref:`create_space<class_PhysicsServer_method_create_space>`).
+Assigns a space to the body (see :ref:`space_create<class_PhysicsServer_method_space_create>`).
 
 .. _class_PhysicsServer_method_body_set_state:
 

+ 2 - 2
classes/class_projectsettings.rst

@@ -602,7 +602,7 @@ Path to an image used for boot splash.
 
 This user directory is used for storing persistent data (``user://`` filesystem). By default (no custom name defined), ``user://`` resolves to a project-specific folder in Godot's own configuration folder (see :ref:`OS.get_user_data_dir<class_OS_method_get_user_data_dir>`). If a custom directory name is defined, this name will be used instead and appended to the system-specific user data directory (same parent folder as the Godot configuration folder documented in :ref:`OS.get_user_data_dir<class_OS_method_get_user_data_dir>`).
 
-The :ref:`use_custom_user_dir<class_ProjectSettings_property_use_custom_user_dir>` setting must be enabled for this to take effect.
+The :ref:`application/config/use_custom_user_dir<class_ProjectSettings_property_application/config/use_custom_user_dir>` setting must be enabled for this to take effect.
 
 .. _class_ProjectSettings_property_application/config/icon:
 
@@ -626,7 +626,7 @@ Specifies a file to override project settings. For example: ``user://custom_sett
 
 - :ref:`bool<class_bool>` **application/config/use_custom_user_dir**
 
-Allow the project to save to its own custom user dir (see :ref:`custom_user_dir_name<class_ProjectSettings_property_custom_user_dir_name>`). This setting only works for desktop platforms. A name must be set in the :ref:`custom_user_dir_name<class_ProjectSettings_property_custom_user_dir_name>` setting for this to take effect.
+Allow the project to save to its own custom user dir (see :ref:`application/config/custom_user_dir_name<class_ProjectSettings_property_application/config/custom_user_dir_name>`). This setting only works for desktop platforms. A name must be set in the :ref:`application/config/custom_user_dir_name<class_ProjectSettings_property_application/config/custom_user_dir_name>` setting for this to take effect.
 
 .. _class_ProjectSettings_property_application/run/disable_stderr:
 

+ 0 - 2
classes/class_quat.rst

@@ -87,8 +87,6 @@ Tutorials
 
 - `#interpolating-with-quaternions <../tutorials/3d/using_transforms.html#interpolating-with-quaternions>`_ in :doc:`../tutorials/3d/using_transforms`
 
-- :doc:`../tutorials/math/rotations`
-
 Property Descriptions
 ---------------------
 

+ 1 - 1
classes/class_scriptcreatedialog.rst

@@ -35,7 +35,7 @@ Emitted when the user clicks the OK button.
 Description
 -----------
 
-The ScriptCreateDialog creates script files according to a given template for a given scripting language. The standard use is to configure its fields prior to calling a :ref:`popup<class_ScriptCreateDialog_method_popup>`\ () method.
+The ``ScriptCreateDialog`` creates script files according to a given template for a given scripting language. The standard use is to configure its fields prior to calling one of the :ref:`Popup.popup<class_Popup_method_popup>` methods.
 
 ::
 

+ 1 - 1
classes/class_streampeertcp.rst

@@ -100,7 +100,7 @@ Return the status of the connection, see :ref:`Status<enum_StreamPeerTCP_Status>
 
 - :ref:`bool<class_bool>` **is_connected_to_host** **(** **)** const
 
-Returns ``true`` if this peer is currently connected to a host, ``false[code] otherwise.
+Returns ``true`` if this peer is currently connected to a host, ``false`` otherwise.
 
 .. _class_StreamPeerTCP_method_set_no_delay:
 

+ 2 - 2
classes/class_toolbutton.rst

@@ -46,10 +46,10 @@ Theme Properties
 Description
 -----------
 
-This is a helper class to generate a flat :ref:`Button<class_Button>` (see :ref:`Button.set_flat<class_Button_method_set_flat>`), creating a ToolButton is equivalent to:
+This is a helper class to generate a flat :ref:`Button<class_Button>` (see :ref:`Button.flat<class_Button_property_flat>`), creating a ``ToolButton`` is equivalent to:
 
 ::
 
     var btn = Button.new()
-    btn.set_flat(true)
+    btn.flat = true
 

+ 1 - 1
classes/class_tween.rst

@@ -212,7 +212,7 @@ Property Descriptions
 | *Getter* | get_tween_process_mode()      |
 +----------+-------------------------------+
 
-The tween's animation process thread. See :ref:`TweenProcessMode<enum_Tween_TweenProcessMode>`. Default value: TWEEN_PROCESS_IDLE.
+The tween's animation process thread. See :ref:`TweenProcessMode<enum_Tween_TweenProcessMode>`. Default value: :ref:`TWEEN_PROCESS_IDLE<class_Tween_constant_TWEEN_PROCESS_IDLE>`.
 
 .. _class_Tween_property_playback_speed:
 

+ 1 - 1
classes/class_vector2.rst

@@ -251,7 +251,7 @@ Returns the vector's length.
 
 - :ref:`float<class_float>` **length_squared** **(** **)**
 
-Returns the vector's length squared. Prefer this function over :ref:`length<class_Vector2_property_length>` if you need to sort vectors or need the squared length for some formula.
+Returns the vector's length squared. Prefer this method over :ref:`length<class_Vector2_method_length>` if you need to sort vectors or need the squared length for some formula.
 
 .. _class_Vector2_method_linear_interpolate:
 

+ 2 - 2
classes/class_vehiclebody.rst

@@ -59,7 +59,7 @@ Slows down the vehicle by applying a braking force. The vehicle is only slowed d
 | *Getter* | get_engine_force()      |
 +----------+-------------------------+
 
-Accelerates the vehicle by applying an engine force. The vehicle is only speed up if the wheels that have :ref:`VehicleWheel.set_use_as_traction<class_VehicleWheel_property_set_use_as_traction>` set to true and are in contact with a surface. The :ref:`RigidBody.mass<class_RigidBody_property_mass>` of the vehicle has an effect on the acceleration of the vehicle. For a vehicle with a mass set to 1000, try a value in the 25 - 50 range for acceleration. Note that the simulation does not take the effect of gears into account, you will need to add logic for this if you wish to simulate gears.
+Accelerates the vehicle by applying an engine force. The vehicle is only speed up if the wheels that have :ref:`VehicleWheel.use_as_traction<class_VehicleWheel_property_use_as_traction>` set to true and are in contact with a surface. The :ref:`RigidBody.mass<class_RigidBody_property_mass>` of the vehicle has an effect on the acceleration of the vehicle. For a vehicle with a mass set to 1000, try a value in the 25 - 50 range for acceleration. Note that the simulation does not take the effect of gears into account, you will need to add logic for this if you wish to simulate gears.
 
 A negative value will result in the vehicle reversing.
 
@@ -73,5 +73,5 @@ A negative value will result in the vehicle reversing.
 | *Getter* | get_steering()      |
 +----------+---------------------+
 
-The steering angle for the vehicle. Setting this to a non-zero value will result in the vehicle turning when it's moving. Wheels that have :ref:`VehicleWheel.set_use_as_steering<class_VehicleWheel_property_set_use_as_steering>` set to true will automatically be rotated.
+The steering angle for the vehicle. Setting this to a non-zero value will result in the vehicle turning when it's moving. Wheels that have :ref:`VehicleWheel.use_as_steering<class_VehicleWheel_property_use_as_steering>` set to true will automatically be rotated.
 

+ 18 - 2
classes/class_visualserver.rst

@@ -478,7 +478,7 @@ Methods
 +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                                    | :ref:`mesh_surface_update_region<class_VisualServer_method_mesh_surface_update_region>` **(** :ref:`RID<class_RID>` mesh, :ref:`int<class_int>` surface, :ref:`int<class_int>` offset, :ref:`PoolByteArray<class_PoolByteArray>` data **)**                                                                                                                                                                                                                                                                                                                                                                                                                     |
 +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                                    | :ref:`multimesh_allocate<class_VisualServer_method_multimesh_allocate>` **(** :ref:`RID<class_RID>` multimesh, :ref:`int<class_int>` instances, :ref:`MultimeshTransformFormat<enum_VisualServer_MultimeshTransformFormat>` transform_format, :ref:`MultimeshColorFormat<enum_VisualServer_MultimeshColorFormat>` color_format, VisualServer.MultimeshCustomDataFormat custom_data_format=0 **)**                                                                                                                                                                                                                                                               |
+| void                                                    | :ref:`multimesh_allocate<class_VisualServer_method_multimesh_allocate>` **(** :ref:`RID<class_RID>` multimesh, :ref:`int<class_int>` instances, :ref:`MultimeshTransformFormat<enum_VisualServer_MultimeshTransformFormat>` transform_format, :ref:`MultimeshColorFormat<enum_VisualServer_MultimeshColorFormat>` color_format, :ref:`MultimeshCustomDataFormat<enum_VisualServer_MultimeshCustomDataFormat>` custom_data_format=0 **)**                                                                                                                                                                                                                        |
 +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`AABB<class_AABB>`                                 | :ref:`multimesh_get_aabb<class_VisualServer_method_multimesh_get_aabb>` **(** :ref:`RID<class_RID>` multimesh **)** const                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
 +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
@@ -1565,6 +1565,22 @@ enum **MultimeshColorFormat**:
 
 - **MULTIMESH_COLOR_FLOAT** = **2**
 
+.. _enum_VisualServer_MultimeshCustomDataFormat:
+
+.. _class_VisualServer_constant_MULTIMESH_CUSTOM_DATA_NONE:
+
+.. _class_VisualServer_constant_MULTIMESH_CUSTOM_DATA_8BIT:
+
+.. _class_VisualServer_constant_MULTIMESH_CUSTOM_DATA_FLOAT:
+
+enum **MultimeshCustomDataFormat**:
+
+- **MULTIMESH_CUSTOM_DATA_NONE** = **0**
+
+- **MULTIMESH_CUSTOM_DATA_8BIT** = **1**
+
+- **MULTIMESH_CUSTOM_DATA_FLOAT** = **2**
+
 .. _enum_VisualServer_ReflectionProbeUpdateMode:
 
 .. _class_VisualServer_constant_REFLECTION_PROBE_UPDATE_ONCE:
@@ -2896,7 +2912,7 @@ Sets a mesh's surface's material.
 
 .. _class_VisualServer_method_multimesh_allocate:
 
-- void **multimesh_allocate** **(** :ref:`RID<class_RID>` multimesh, :ref:`int<class_int>` instances, :ref:`MultimeshTransformFormat<enum_VisualServer_MultimeshTransformFormat>` transform_format, :ref:`MultimeshColorFormat<enum_VisualServer_MultimeshColorFormat>` color_format, VisualServer.MultimeshCustomDataFormat custom_data_format=0 **)**
+- void **multimesh_allocate** **(** :ref:`RID<class_RID>` multimesh, :ref:`int<class_int>` instances, :ref:`MultimeshTransformFormat<enum_VisualServer_MultimeshTransformFormat>` transform_format, :ref:`MultimeshColorFormat<enum_VisualServer_MultimeshColorFormat>` color_format, :ref:`MultimeshCustomDataFormat<enum_VisualServer_MultimeshCustomDataFormat>` custom_data_format=0 **)**
 
 .. _class_VisualServer_method_multimesh_get_aabb:
 

+ 6 - 5
getting_started/editor/unity_to_godot.rst

@@ -232,14 +232,14 @@ Connections: groups and signals
 
 You can control nodes by accessing them using a script and calling functions (built-in or user-defined) on them.
 But there's more: You can also place them in a group and call a function on all nodes contained in this group!
-This is explained in :ref:`this page <doc_scripting_continued>`.
+This is explained in the :ref:`scripting documentation <doc_scripting_continued>`.
 
 But there's more! Certain nodes throw signals when certain actions happen.
 You can connect these signals to call a specific function when they happen.
 Note that you can define your own signals and send them whenever you want.
-This feature is documented `here <../scripting/gdscript/gdscript_basics.html#signals>`_.
+See the :ref:`signals documentation <doc_gdscript_signals>` for details.
 
-Script Serialization
+Script serialization
 ^^^^^^^^^^^^^^^^^^^^
 
 Unity can handle script serialization in two ways:
@@ -248,8 +248,9 @@ Unity can handle script serialization in two ways:
 - Explicit: Non-public fields can be serialized using the ``[SerializeField]`` attribute.
 
 Godot also has a built-in script serialization system, but it works only explicitly.
-You can serialize any serializable type (:ref:`built-in and various engine types <doc_binary_serialization_api>`, including :ref:`class_Array` and :ref:`class_Dictionary`)
-using the ``export`` keyword. This workflow is explained `here <../scripting/gdscript/gdscript_basics.html#exports>`_.
+You can serialize any serializable type (:ref:`built-in and various engine types <doc_binary_serialization_api>`,
+including :ref:`class_Array` and :ref:`class_Dictionary`) using the ``export`` keyword.
+See the :ref:`exports documentation <doc_gdscript_exports>` for details.
 
 Unity also has a data type called ``ScriptableObject`` used to serialize custom asset objects.
 Its equivalent in Godot is the base class for all resources: :ref:`class_Resource`.

+ 6 - 0
getting_started/scripting/gdscript/gdscript_basics.rst

@@ -339,6 +339,8 @@ therefore, it will not be stripped away when the script is compiled.
         lines is considered
         a comment. """
 
+.. _doc_gdscript_builtin_types:
+
 Built-in types
 --------------
 
@@ -1195,6 +1197,8 @@ class resource is done by calling the ``new`` function on the class object::
         var a = MyClass.new()
         a.some_function()
 
+.. _doc_gdscript_exports:
+
 Exports
 ~~~~~~~
 
@@ -1455,6 +1459,8 @@ Alternatively, when not using references, the
 ``is_instance_valid(instance)`` can be used to check if an object has been
 freed.
 
+.. _doc_gdscript_signals:
+
 Signals
 ~~~~~~~
 

+ 1 - 1
getting_started/scripting/gdscript/static_typing.rst

@@ -103,7 +103,7 @@ type:
 
 Currently you can use three types of… types:
 
-1. :ref:`Built-in<gdscript_basics.html#built-in-types>`
+1. :ref:`Built-in <doc_gdscript_builtin_types>`
 2. Core classes and nodes (``Object``, ``Node``, ``Area2D``,
    ``Camera2D``, etc.)
 3. Your own, custom classes. Look at the new :ref:`class_name <doc_scripting_continued_class_name>`

+ 7 - 5
tutorials/3d/introduction_to_3d.rst

@@ -47,13 +47,15 @@ not as standardized as images).
 DCC-created models
 ------------------
 
+.. FIXME: Needs update to properly description Godot 3.x workflow
+   (used to reference a non existing doc_importing_3d_meshes importer).
+
 There are two pipelines to import 3D models in Godot. The first and most
-common one is through the :ref:`doc_importing_3d_scenes` importer, which allows you to import
+common one is by :ref:`doc_importing_3d_scenes`, which allows you to import
 entire scenes (just as they look in the DCC), including animation,
 skeletal rigs, blend shapes, etc.
 
-The second pipeline is through the :ref:`doc_importing_3d_meshes` importer. This
-second method allows importing simple .OBJ files as mesh resources,
+The second pipeline is by importing simple .OBJ files as mesh resources,
 which can be then put inside a :ref:`MeshInstance <class_MeshInstance>`
 node for display.
 
@@ -61,8 +63,8 @@ Generated geometry
 ------------------
 
 It is possible to create custom geometry by using the
-:ref:`Mesh <class_Mesh>` resource directly. Simply create your arrays
-and use the :ref:`Mesh.add_surface() <class_Mesh_method_add_surface>`
+:ref:`ArrayMesh <class_ArrayMesh>` resource directly. Simply create your arrays
+and use the :ref:`ArrayMesh.add_surface_from_arrays() <class_ArrayMesh_method_add_surface_from_arrays>`
 function. A helper class is also available, :ref:`SurfaceTool <class_SurfaceTool>`,
 which provides a more straightforward API and helpers for indexing,
 generating normals, tangents, etc.

+ 3 - 3
tutorials/vr/vr_starter_tutorial.rst

@@ -44,11 +44,11 @@ The provided starter assets contain some 3D models, sounds, and a few scenes alr
 
 Feel free to use these assets however you want! All original assets belong to the Godot community, with the other assets belonging to those listed below:
 
-.. note:: The sky panorama was created by **CGTuts** and can be found `here <https://cgi.tutsplus.com/articles/freebie-8-awesome-ocean-hdris--cg-5684>`_.
+.. note:: The sky panorama was created by **CGTuts** (`original source <https://cgi.tutsplus.com/articles/freebie-8-awesome-ocean-hdris--cg-5684>`_).
 
           The font used is **Titillium-Regular**, and is licensed under the SIL Open Font License, Version 1.1.
 
-          The audio used are from several different sources, all downloaded from the **Sonnis #GameAudioGDC Bundle**. The license for the sound effects is included as a PDF `here <https://sonniss.com/gdc-bundle-license/>`_.
+          The audio used are from several different sources, all downloaded from the **Sonnis #GameAudioGDC Bundle** (`license in PDF format <https://sonniss.com/gdc-bundle-license/>`_).
           The folders where the audio files are stored have the same name as folders in the bundle.
 
           The **OpenVR addon** was created by Bastiaan Olij and is released under the MIT license. It can be found both `on the Asset Library <https://godotengine.org/asset-library/asset/150>`_ and `on GitHub <https://github.com/GodotVR/godot-openvr-asset>`_.
@@ -495,7 +495,7 @@ will move the player left.
 
 Next we account for dead zones on both the trackpad and the joystick. The code for doing this is adapted from the link below, and I would highly recommend looking at it.
 
-.. tip:: You can find a great article explaining joystick dead zones `here <http://www.third-helix.com/2013/04/12/doing-thumbstick-dead-zones-right.html>`_.
+.. tip:: You can find a great article explaining joystick dead zones `on Third Helix <http://www.third-helix.com/2013/04/12/doing-thumbstick-dead-zones-right.html>`_.
 
 One thing to note is how large we are making the dead zones. The reason we are using such large dead zones is so the player cannot move themselves accidentally by placing their
 finger on the center of the touchpad/joystick, which can make players experience motion sickness if they are not expecting it.