Browse Source

Merge pull request #9339 from mhilbrunner/docs-4.2-cherrypicks

4.2 cherrypicks
Max Hilbrunner 1 year ago
parent
commit
ee80d12afd
85 changed files with 141 additions and 164 deletions
  1. 3 1
      _static/css/custom.css
  2. 1 1
      about/list_of_features.rst
  3. 2 2
      about/release_policy.rst
  4. 2 0
      about/system_requirements.rst
  5. 5 1
      contributing/development/compiling/compiling_for_web.rst
  6. 1 1
      contributing/development/configuring_an_ide/visual_studio_code.rst
  7. 1 1
      contributing/development/core_and_modules/internal_rendering_architecture.rst
  8. 4 4
      getting_started/first_2d_game/03.coding_the_player.rst
  9. 1 1
      getting_started/first_2d_game/05.the_main_game_scene.rst
  10. BIN
      getting_started/first_2d_game/img/input-mapping-event-configuration.webp
  11. BIN
      getting_started/first_2d_game/img/start_button_shortcut2.webp
  12. 1 1
      getting_started/first_3d_game/04.mob_scene.rst
  13. BIN
      getting_started/step_by_step/img/instancing_ball_duplicated.png
  14. BIN
      getting_started/step_by_step/img/instancing_ball_duplicated.webp
  15. BIN
      getting_started/step_by_step/img/instancing_ball_instanced.png
  16. BIN
      getting_started/step_by_step/img/instancing_ball_instanced.webp
  17. BIN
      getting_started/step_by_step/img/instancing_ball_instances_example.png
  18. BIN
      getting_started/step_by_step/img/instancing_ball_instances_example.webp
  19. BIN
      getting_started/step_by_step/img/instancing_ball_moved.png
  20. BIN
      getting_started/step_by_step/img/instancing_ball_moved.webp
  21. BIN
      getting_started/step_by_step/img/instancing_ball_scene.png
  22. BIN
      getting_started/step_by_step/img/instancing_ball_scene.webp
  23. BIN
      getting_started/step_by_step/img/instancing_import_and_edit_button.png
  24. BIN
      getting_started/step_by_step/img/instancing_import_and_edit_button.webp
  25. BIN
      getting_started/step_by_step/img/instancing_import_browse.png
  26. BIN
      getting_started/step_by_step/img/instancing_import_button.png
  27. BIN
      getting_started/step_by_step/img/instancing_import_button.webp
  28. BIN
      getting_started/step_by_step/img/instancing_import_project_file.png
  29. BIN
      getting_started/step_by_step/img/instancing_import_project_file.webp
  30. BIN
      getting_started/step_by_step/img/instancing_instance_child_window.png
  31. BIN
      getting_started/step_by_step/img/instancing_instance_child_window.webp
  32. BIN
      getting_started/step_by_step/img/instancing_main_scene.png
  33. BIN
      getting_started/step_by_step/img/instancing_main_scene.webp
  34. BIN
      getting_started/step_by_step/img/instancing_main_scene_with_balls.png
  35. BIN
      getting_started/step_by_step/img/instancing_main_scene_with_balls.webp
  36. BIN
      getting_started/step_by_step/img/instancing_physics_material_expand.webp
  37. BIN
      getting_started/step_by_step/img/instancing_scene_link_button.webp
  38. BIN
      getting_started/step_by_step/img/instancing_scene_tabs.webp
  39. BIN
      getting_started/step_by_step/img/signals_12_node_connection.png
  40. BIN
      getting_started/step_by_step/img/signals_12_node_connection.webp
  41. BIN
      getting_started/step_by_step/img/signals_17_custom_signal.png
  42. BIN
      getting_started/step_by_step/img/signals_17_custom_signal.webp
  43. 15 19
      getting_started/step_by_step/instancing.rst
  44. 1 1
      getting_started/step_by_step/nodes_and_scenes.rst
  45. 4 4
      getting_started/step_by_step/signals.rst
  46. 1 11
      index.rst
  47. 1 1
      tutorials/2d/2d_transforms.rst
  48. BIN
      tutorials/3d/img/spatial_material2.png
  49. BIN
      tutorials/3d/img/spatial_material6.png
  50. BIN
      tutorials/3d/img/spatial_material6.webp
  51. 1 1
      tutorials/3d/particles/process_material_properties.rst
  52. 1 1
      tutorials/3d/procedural_geometry/surfacetool.rst
  53. 2 1
      tutorials/3d/resolution_scaling.rst
  54. 18 15
      tutorials/3d/standard_material_3d.rst
  55. 2 2
      tutorials/assets_pipeline/escn_exporter/skeleton.rst
  56. 1 1
      tutorials/best_practices/node_alternatives.rst
  57. 1 1
      tutorials/best_practices/scene_organization.rst
  58. 35 31
      tutorials/editor/default_key_mapping.rst
  59. 3 2
      tutorials/export/exporting_for_android.rst
  60. 1 1
      tutorials/export/exporting_for_dedicated_servers.rst
  61. 1 1
      tutorials/i18n/internationalizing_games.rst
  62. 1 1
      tutorials/inputs/controllers_gamepads_joysticks.rst
  63. 1 1
      tutorials/math/random_number_generation.rst
  64. 2 1
      tutorials/navigation/navigation_introduction_2d.rst
  65. 2 2
      tutorials/navigation/navigation_using_navigationmeshes.rst
  66. 0 4
      tutorials/networking/high_level_multiplayer.rst
  67. 1 1
      tutorials/physics/ragdoll_system.rst
  68. 1 1
      tutorials/physics/soft_body.rst
  69. 2 2
      tutorials/plugins/editor/inspector_plugins.rst
  70. BIN
      tutorials/rendering/img/screenres.png
  71. BIN
      tutorials/rendering/img/screenres.webp
  72. BIN
      tutorials/rendering/img/stretch.png
  73. 0 0
      tutorials/rendering/img/stretch.svg
  74. BIN
      tutorials/rendering/img/stretchsettings.png
  75. BIN
      tutorials/rendering/img/stretchsettings.webp
  76. 7 11
      tutorials/rendering/multiple_resolutions.rst
  77. 2 2
      tutorials/scripting/change_scenes_manually.rst
  78. 1 1
      tutorials/scripting/creating_script_templates.rst
  79. 2 2
      tutorials/scripting/debug/the_profiler.rst
  80. 1 1
      tutorials/scripting/resources.rst
  81. 1 14
      tutorials/scripting/singletons_autoload.rst
  82. 2 9
      tutorials/shaders/advanced_postprocessing.rst
  83. 2 1
      tutorials/shaders/shader_reference/sky_shader.rst
  84. 3 3
      tutorials/shaders/shaders_style_guide.rst
  85. 1 1
      tutorials/ui/custom_gui_controls.rst

+ 3 - 1
_static/css/custom.css

@@ -360,7 +360,8 @@ article ol,
 }
 
 body,
-.rst-content table.docutils thead {
+.rst-content table.docutils thead,
+.rst-content table.docutils caption {
     color: var(--body-color);
 }
 
@@ -667,6 +668,7 @@ footer {
 }
 
 .wy-body-for-nav {
+    position: relative;
     background-color: var(--content-wrap-background-color);
 }
 

+ 1 - 1
about/list_of_features.rst

@@ -289,7 +289,7 @@ Rendering
 - Does not rely on run-time mesh generation. This means decals can be used on
   complex skinned meshes with no performance penalty, even if the decal moves every frame.
 - Support for nearest, bilinear, trilinear or anisotropic texture filtering (configured globally).
-- Optional distance fade system to fade distant lights and their shadows, improving performance.
+- Optional distance fade system to fade distant decals, improving performance.
 - When using the Forward+ backend (default on desktop), decals are
   rendered with clustered forward optimizations to decrease their individual cost.
   Clustered rendering also lifts any limits on the number of decals that can be used on a mesh.

+ 2 - 2
about/release_policy.rst

@@ -198,8 +198,8 @@ While Godot contributors aren't working under any deadlines, we strive to
 publish minor releases relatively frequently.
 
 In particular, after the very length release cycle for 4.0, we are pivoting to
-a faster paced development workflow, with the 4.1 release expected within late
-Q2 / early Q3 2023.
+a faster paced development workflow, 4.1 released 4 months after 4.0, and 4.2
+released 4 months after 4.1
 
 Frequent minor releases will enable us to ship new features faster (possibly
 as experimental), get user feedback quickly, and iterate to improve those

+ 2 - 0
about/system_requirements.rst

@@ -1,3 +1,5 @@
+:allow_comments: False
+
 .. _doc_system_requirements:
 
 System requirements

+ 5 - 1
contributing/development/compiling/compiling_for_web.rst

@@ -15,7 +15,7 @@ Requirements
 
 To compile export templates for the Web, the following is required:
 
-- `Emscripten 1.39.9+ <https://emscripten.org>`__.
+- `Emscripten 3.1.39+ <https://emscripten.org>`__.
 - `Python 3.6+ <https://www.python.org/>`__.
 - `SCons 3.0+ <https://scons.org/pages/download.html>`__ build system.
 
@@ -25,6 +25,10 @@ To compile export templates for the Web, the following is required:
              For a general overview of SCons usage for Godot, see
              :ref:`doc_introduction_to_the_buildsystem`.
 
+.. note:: Emscripten 3.1.39+ is recommended, but older 3.x versions are known to work.
+
+          Please note that the minimum requirement for GDExtension support is 3.1.14.
+
 Building export templates
 -------------------------
 

+ 1 - 1
contributing/development/configuring_an_ide/visual_studio_code.rst

@@ -154,7 +154,7 @@ To run and debug the project you need to create a new configuration in the ``lau
 
 The name under ``program`` depends on your build configuration,
 e.g. ``godot.linuxbsd.editor.dev.x86_64`` for 64-bit LinuxBSD platform with
-``platform=editor`` and ``dev_build=yes``.
+``target=editor`` and ``dev_build=yes``.
 
 If you run into any issues, ask for help in one of
 `Godot's community channels <https://godotengine.org/community>`__.

+ 1 - 1
contributing/development/core_and_modules/internal_rendering_architecture.rst

@@ -272,7 +272,7 @@ RenderingDevice presents a similar level of abstraction as Metal or WebGPU.
 
 **Vulkan RenderingDevice implementation:**
 
-- `drivers/vulkan/rendering_device_driver_vulkan.cpp <https://github.com/godotengine/godot/blob/4.2/drivers/vulkan/rendering_device_driver_vulkan.cpp>`__
+- `drivers/vulkan/rendering_device_vulkan.cpp <https://github.com/godotengine/godot/blob/4.2/drivers/vulkan/rendering_device_vulkan.cpp>`__
 
 **Direct3D 12 RenderingDevice implementation:**
 

+ 4 - 4
getting_started/first_2d_game/03.coding_the_player.rst

@@ -48,9 +48,9 @@ Start by declaring the member variables this object will need:
 Using the ``export`` keyword on the first variable ``speed`` allows us to set
 its value in the Inspector. This can be handy for values that you want to be
 able to adjust just like a node's built-in properties. Click on the ``Player``
-node and you'll see the property now appears in the "Script Variables" section
-of the Inspector. Remember, if you change the value here, it will override the
-value written in the script.
+node and you'll see the property now appears in the Inspector in a new section
+with the name of the script. Remember, if you change the value here, it will
+override the value written in the script.
 
 .. warning::
 
@@ -247,7 +247,7 @@ the ``_process`` function (make sure it's not indented under the `else`):
         Using this value ensures that your movement will remain consistent even
         if the frame rate changes.
 
-Click "Play Scene" (:kbd:`F6`, :kbd:`Cmd + R` on macOS) and confirm you can move
+Click "Run Current Scene" (:kbd:`F6`, :kbd:`Cmd + R` on macOS) and confirm you can move
 the player around the screen in all directions.
 
 .. warning:: If you get an error in the "Debugger" panel that says

+ 1 - 1
getting_started/first_2d_game/05.the_main_game_scene.rst

@@ -100,7 +100,7 @@ to instance.
     }
 
 Click the ``Main`` node and you will see the ``Mob Scene`` property in the Inspector
-under "Script Variables".
+under "Main.gd".
 
 You can assign this property's value in two ways:
 

BIN
getting_started/first_2d_game/img/input-mapping-event-configuration.webp


BIN
getting_started/first_2d_game/img/start_button_shortcut2.webp


+ 1 - 1
getting_started/first_3d_game/04.mob_scene.rst

@@ -234,7 +234,7 @@ Connect the signal to the ``Mob``
 
 This will take you back to the script editor and add a new function for you,
 ``_on_visible_on_screen_notifier_3d_screen_exited()``. From it, call the ``queue_free()``
-method. This function destroy the instance it's called on.
+method. This function destroys the instance it's called on.
 
 .. tabs::
  .. code-tab:: gdscript GDScript

BIN
getting_started/step_by_step/img/instancing_ball_duplicated.png


BIN
getting_started/step_by_step/img/instancing_ball_duplicated.webp


BIN
getting_started/step_by_step/img/instancing_ball_instanced.png


BIN
getting_started/step_by_step/img/instancing_ball_instanced.webp


BIN
getting_started/step_by_step/img/instancing_ball_instances_example.png


BIN
getting_started/step_by_step/img/instancing_ball_instances_example.webp


BIN
getting_started/step_by_step/img/instancing_ball_moved.png


BIN
getting_started/step_by_step/img/instancing_ball_moved.webp


BIN
getting_started/step_by_step/img/instancing_ball_scene.png


BIN
getting_started/step_by_step/img/instancing_ball_scene.webp


BIN
getting_started/step_by_step/img/instancing_import_and_edit_button.png


BIN
getting_started/step_by_step/img/instancing_import_and_edit_button.webp


BIN
getting_started/step_by_step/img/instancing_import_browse.png


BIN
getting_started/step_by_step/img/instancing_import_button.png


BIN
getting_started/step_by_step/img/instancing_import_button.webp


BIN
getting_started/step_by_step/img/instancing_import_project_file.png


BIN
getting_started/step_by_step/img/instancing_import_project_file.webp


BIN
getting_started/step_by_step/img/instancing_instance_child_window.png


BIN
getting_started/step_by_step/img/instancing_instance_child_window.webp


BIN
getting_started/step_by_step/img/instancing_main_scene.png


BIN
getting_started/step_by_step/img/instancing_main_scene.webp


BIN
getting_started/step_by_step/img/instancing_main_scene_with_balls.png


BIN
getting_started/step_by_step/img/instancing_main_scene_with_balls.webp


BIN
getting_started/step_by_step/img/instancing_physics_material_expand.webp


BIN
getting_started/step_by_step/img/instancing_scene_link_button.webp


BIN
getting_started/step_by_step/img/instancing_scene_tabs.webp


BIN
getting_started/step_by_step/img/signals_12_node_connection.png


BIN
getting_started/step_by_step/img/signals_12_node_connection.webp


BIN
getting_started/step_by_step/img/signals_17_custom_signal.png


BIN
getting_started/step_by_step/img/signals_17_custom_signal.webp


+ 15 - 19
getting_started/step_by_step/instancing.rst

@@ -18,13 +18,13 @@ Here's an example of a ball. It's composed of a :ref:`RigidBody2D
 and bounce on walls, a :ref:`Sprite2D <class_Sprite2D>` node, and a
 :ref:`CollisionShape2D <class_CollisionShape2D>`.
 
-.. image:: img/instancing_ball_scene.png
+.. image:: img/instancing_ball_scene.webp
 
-Once you saved a scene, it works as a blueprint: you can reproduce it in other
+Once you have saved a scene, it works as a blueprint: you can reproduce it in other
 scenes as many times as you'd like. Replicating an object from a template like
 this is called **instancing**.
 
-.. image:: img/instancing_ball_instances_example.png
+.. image:: img/instancing_ball_instances_example.webp
 
 As we mentioned in the previous part, instanced scenes behave like a node: the
 editor hides their content by default. When you instance the Ball, you only see
@@ -47,20 +47,16 @@ The Project Manager is accessed by opening Godot, or if you already have Godot o
 
 In the Project Manager, click the *Import* button to import the project.
 
-.. image:: img/instancing_import_button.png
-
-In the pop-up that appears, click the browse button and navigate to the folder
-you extracted.
-
-.. image:: img/instancing_import_browse.png
+.. image:: img/instancing_import_button.webp
 
+In the pop-up that appears navigate to the folder you extracted.
 Double-click the ``project.godot`` file to open it.
 
-.. image:: img/instancing_import_project_file.png
+.. image:: img/instancing_import_project_file.webp
 
 Finally, click the Import & Edit button.
 
-.. image:: img/instancing_import_and_edit_button.png
+.. image:: img/instancing_import_and_edit_button.webp
 
 The project contains two packed scenes: ``main.tscn``, containing walls against
 which the ball collides, and ``ball.tscn``. The Main scene should open
@@ -68,25 +64,25 @@ automatically. If you're seeing an empty 3D scene instead of the main scene, cli
 
 .. image:: img/instancing_2d_scene_select.webp
 
-.. image:: img/instancing_main_scene.png
+.. image:: img/instancing_main_scene.webp
 
 Let's add a ball as a child of the Main node. In the Scene dock, select the Main
 node. Then, click the link icon at the top of the scene dock. This button allows
 you to add an instance of a scene as a child of the currently selected node.
 
-.. image:: img/instancing_scene_link_button.png
+.. image:: img/instancing_scene_link_button.webp
 
 Double-click the ball scene to instance it.
 
-.. image:: img/instancing_instance_child_window.png
+.. image:: img/instancing_instance_child_window.webp
 
 The ball appears in the top-left corner of the viewport.
 
-.. image:: img/instancing_ball_instanced.png
+.. image:: img/instancing_ball_instanced.webp
 
 Click on it and drag it towards the center of the view.
 
-.. image:: img/instancing_ball_moved.png
+.. image:: img/instancing_ball_moved.webp
 
 Play the game by pressing :kbd:`F5` (:kbd:`Cmd + B` on macOS). You should see it fall.
 
@@ -94,11 +90,11 @@ Now, we want to create more instances of the Ball node. With the ball still
 selected, press :kbd:`Ctrl + D` (:kbd:`Cmd + D` on macOS) to call the duplicate
 command. Click and drag to move the new ball to a different location.
 
-.. image:: img/instancing_ball_duplicated.png
+.. image:: img/instancing_ball_duplicated.webp
 
 You can repeat this process until you have several in the scene.
 
-.. image:: img/instancing_main_scene_with_balls.png
+.. image:: img/instancing_main_scene_with_balls.webp
 
 Play the game again. You should now see every ball fall independently from one
 another. This is what instances do. Each is an independent reproduction of a
@@ -135,7 +131,7 @@ causes all instances to update accordingly.
 Let's now adjust an individual instance. Head back to the Main scene by clicking
 on the corresponding tab above the viewport.
 
-.. image:: img/instancing_scene_tabs.png
+.. image:: img/instancing_scene_tabs.webp
 
 Select one of the instanced Ball nodes and, in the Inspector, set its Gravity
 Scale value to ``10``.

+ 1 - 1
getting_started/step_by_step/nodes_and_scenes.rst

@@ -58,7 +58,7 @@ you or a player runs the game.
 
 On top of acting like nodes, scenes have the following characteristics:
 
-1. They always have one root node, like the "Character" in our example.
+1. They always have one root node, like the "Player" in our example.
 2. You can save them to your local drive and load them later.
 3. You can create as many instances of a scene as you'd like. You could have
    five or ten characters in your game, created from your Character scene.

+ 4 - 4
getting_started/step_by_step/signals.rst

@@ -37,7 +37,7 @@ We will now use a signal to make our Godot icon from the previous lesson
 Scene setup
 -----------
 
-To add a button to our game, we will create a new main scene which will include
+To add a button to our game, we will create a new scene which will include
 both a :ref:`Button <class_button>` and the ``sprite_2d.tscn`` scene we created in
 the :ref:`doc_scripting_first_script` lesson.
 
@@ -108,7 +108,7 @@ The dock displays a list of signals available on the selected node.
 
 Double-click the "pressed" signal to open the node connection window.
 
-.. image:: img/signals_12_node_connection.png
+.. image:: img/signals_12_node_connection.webp
 
 There, you can connect the signal to the Sprite2D node. The node needs a
 receiver method, a function that Godot will call when the Button emits the
@@ -442,7 +442,7 @@ reaches 0.
 Your signals work the same way as built-in ones: they appear in the Node tab and
 you can connect to them like any other.
 
-.. image:: img/signals_17_custom_signal.png
+.. image:: img/signals_17_custom_signal.webp
 
 To emit a signal in your scripts, call ``emit()`` on the signal.
 
@@ -472,7 +472,7 @@ names between parentheses:
 .. tabs::
  .. code-tab:: gdscript GDScript
 
-    extends Node
+    extends Node2D
 
     signal health_changed(old_value, new_value)
 

+ 1 - 11
index.rst

@@ -51,17 +51,7 @@ into your language, or talk to us on the ``#documentation`` channel on the
 Offline documentation
 ---------------------
 
-To browse the documentation offline, you can use the mirror of the documentation
-hosted on `DevDocs <https://devdocs.io/godot/>`__. To enable offline browsing on
-DevDocs, you need to:
-
-- Click the three dots in the top-left corner, choose **Preferences**.
-- Enable the desired version of the Godot documentation by checking the box
-  next to it in the sidebar.
-- Click the three dots in the top-left corner, choose **Offline data**.
-- Click the **Install** link next to the Godot documentation.
-
-You can also `download an HTML copy <https://nightly.link/godotengine/godot-docs/workflows/build_offline_docs/master/godot-docs-html-master.zip>`__
+To browse the documentation offline, you can `download an HTML copy <https://nightly.link/godotengine/godot-docs/workflows/build_offline_docs/master/godot-docs-html-master.zip>`__
 for offline reading (updated every Monday). Extract the ZIP archive then open
 the top-level ``index.html`` in a web browser.
 

+ 1 - 1
tutorials/2d/2d_transforms.rst

@@ -98,7 +98,7 @@ the following order:
 
  .. code-tab:: csharp
 
-    var screenCord = GetViewport().GetScreenTransform() * GetGlobalTransformWithCanvas() * localPos;
+    var screenCoord = GetViewport().GetScreenTransform() * GetGlobalTransformWithCanvas() * localPos;
 
 Keep in mind, however, that it is generally not desired to work with screen coordinates. The
 recommended approach is to simply work in Canvas coordinates

BIN
tutorials/3d/img/spatial_material2.png


BIN
tutorials/3d/img/spatial_material6.png


BIN
tutorials/3d/img/spatial_material6.webp


+ 1 - 1
tutorials/3d/particles/process_material_properties.rst

@@ -44,7 +44,7 @@ When the ``Disable Z`` property is enabled, particles will not move along the Z-
 Whether that is going to be the particle system's local Z-axis or the world Z-axis is
 determined by the :ref:`Local Coords <doc_3d_particles_properties_draw>` property.
 
-The ``Daming as Friction`` property changes the behavior of damping from a constant
+The ``Damping as Friction`` property changes the behavior of damping from a constant
 deceleration to a deceleration based on speed.
 
 Spawn

+ 1 - 1
tutorials/3d/procedural_geometry/surfacetool.rst

@@ -4,7 +4,7 @@ Using the SurfaceTool
 =====================
 
 The :ref:`SurfaceTool <class_surfacetool>` provides a useful interface for constructing geometry.
-The interface is similar to the :ref:`ImmediateMesh <class_ImmediateMesh>` node. You
+The interface is similar to the :ref:`ImmediateMesh <class_ImmediateMesh>` class. You
 set each per-vertex attribute (e.g. normal, uv, color) and then when you add a vertex it
 captures the attributes.
 

+ 2 - 1
tutorials/3d/resolution_scaling.rst

@@ -223,7 +223,8 @@ Textures used in 2D don't have mipmaps enabled by default, which means only 3D
 rendering is affected unless you enabled mipmaps on 2D textures in the Import
 dock.
 
-The formula used to determine the texture mipmap bias is: TODO
+The formula used to determine the texture mipmap bias is:
+``log2f(min(scaling_3d_scale, 1.0)) + custom_texture_mipmap_bias``
 
 To counteract the blurriness added by some antialiasing methods, Godot also adds
 a ``-0.25`` offset when FXAA is enabled, and a ``-0.5`` offset when TAA is

+ 18 - 15
tutorials/3d/standard_material_3d.rst

@@ -244,46 +244,49 @@ Shading
 Shading mode
 ~~~~~~~~~~~~
 
-Godot has a more or less uniform cost per pixel thanks to depth pre-pass. All
-lighting calculations are made by running the lighting shader on every pixel.
+Godot has a more or less uniform cost per pixel thanks to the depth pre-pass.
+All lighting calculations are made by running the lighting shader on every
+pixel.
 
 As these calculations are costly, performance can be brought down considerably
 in some corner cases such as drawing several layers of transparency (which is
-common in particle systems). Switching to per-vertex lighting may help in these
-cases.
+common in particle systems). Switching to the **Unshaded** shading mode may help improve
+performance in these cases, especially when the camera is close to particles.
 
-Additionally, on low-end or mobile devices, switching to vertex lighting
+Additionally, on low-end or mobile devices, switching to unshaded rendering
 can considerably increase rendering performance.
 
-.. image:: img/spatial_material2.png
+.. image:: img/spatial_material26.png
+
+Keep in mind that when unshaded rendering is enabled, lights will not affect the
+material at all.
 
-Keep in mind that when vertex lighting is enabled, only directional lighting
-can produce shadows (for performance reasons).
+.. note::
 
-However, in some cases you might want to show just the albedo (color) and
-ignore the rest. To do this you can set the shading mode to unshaded
+    **Per-Vertex** shading is listed as an option in the shading mode property.
+    However, per-vertex shading is currently unimplemented and will act
+    identical to per-pixel shading.
 
-.. image:: img/spatial_material26.png
+    Support for per-vertex shading is planned to be reimplemented in a future
+    Godot release.
 
 Diffuse Mode
 ~~~~~~~~~~~~
 
 Specifies the algorithm used by diffuse scattering of light when hitting
-the object. The default is *Burley*. Other modes are also available:
+the object. The default is **Burley**. Other modes are also available:
 
 * **Burley:** Default mode, the original Disney Principled PBS diffuse algorithm.
 * **Lambert:** Is not affected by roughness.
 * **Lambert Wrap:** Extends Lambert to cover more than 90 degrees when
   roughness increases. Works great for hair and simulating cheap
   subsurface scattering. This implementation is energy conserving.
-* **Oren Nayar:** This implementation aims to take microsurfacing into account
-  (via roughness). Works well for clay-like materials and some types of cloth.
 * **Toon:** Provides a hard cut for lighting, with smoothing affected by roughness.
   It is recommended you disable sky contribution from your environment's
   ambient light settings or disable ambient light in the StandardMaterial3D
   to achieve a better effect.
 
-.. image:: img/spatial_material6.png
+.. image:: img/spatial_material6.webp
 
 Specular Mode
 ~~~~~~~~~~~~~

+ 2 - 2
tutorials/assets_pipeline/escn_exporter/skeleton.rst

@@ -21,9 +21,9 @@ that the skeleton is reset to its T-pose or default rest pose.
 Bone Weights
 ------------
 
-Blender put rigged mesh vertices which has no bone weights at its original
+Blender puts rigged mesh vertices which have no bone weights at their original
 position, but these vertices would be placed at (0, 0, 0) in Godot, making the mesh
-deformed. Therefore, the exporter would raise an error for any vertex with no bone weights
+deformed. Therefore, the exporter will raise an error for any vertex with no bone weights
 detected in a rigged mesh.
 
 Non-Deform Bone

+ 1 - 1
tutorials/best_practices/node_alternatives.rst

@@ -50,7 +50,7 @@ your project's features.
 
    - **Example:** Scripts, PackedScene (for scene files), and other types like
      each of the :ref:`AudioEffect <class_AudioEffect>` classes. Each of these
-     can be save and loaded, therefore they extend from Resource.
+     can be saved and loaded, therefore they extend from Resource.
 
    - **Advantages:** Much has
      :ref:`already been said <doc_resources>`

+ 1 - 1
tutorials/best_practices/scene_organization.rst

@@ -65,7 +65,7 @@ initialize it:
      .. code-tab:: csharp
 
        // Parent
-       GetNode("Child").Connect("SignalName", ObjectWithMethod, "MethodOnTheObject");
+       GetNode("Child").Connect("SignalName", Callable.From(ObjectWithMethod.MethodOnTheObject));
 
        // Child
        EmitSignal("SignalName"); // Triggers parent-defined behavior.

+ 35 - 31
tutorials/editor/default_key_mapping.rst

@@ -454,37 +454,41 @@ Animation Track Editor
 Tile Map Editor
 ---------------
 
-+-------------------+-----------------+-------------------+-------------------------------------+
-| Action name       | Windows, Linux  | macOS             | Editor setting                      |
-+===================+=================+===================+=====================================+
-| Find Tile         | :kbd:`Ctrl + F` | :kbd:`Cmd + F`    | ``tile_map_editor/find_tile``       |
-+-------------------+-----------------+-------------------+-------------------------------------+
-| Pick Tile         | :kbd:`I`        | :kbd:`I`          | ``tile_map_editor/pick_tile``       |
-+-------------------+-----------------+-------------------+-------------------------------------+
-| Paint Tile        | :kbd:`P`        | :kbd:`P`          | ``tile_map_editor/paint_tile``      |
-+-------------------+-----------------+-------------------+-------------------------------------+
-| Bucket Fill       | :kbd:`G`        | :kbd:`G`          | ``tile_map_editor/bucket_fill``     |
-+-------------------+-----------------+-------------------+-------------------------------------+
-| Transpose         | :kbd:`T`        | :kbd:`T`          | ``tile_map_editor/transpose``       |
-+-------------------+-----------------+-------------------+-------------------------------------+
-| Flip Horizontally | :kbd:`X`        | :kbd:`X`          | ``tile_map_editor/flip_horizontal`` |
-+-------------------+-----------------+-------------------+-------------------------------------+
-| Flip Vertically   | :kbd:`Z`        | :kbd:`Z`          | ``tile_map_editor/flip_vertical``   |
-+-------------------+-----------------+-------------------+-------------------------------------+
-| Rotate Left       | :kbd:`A`        | :kbd:`A`          | ``tile_map_editor/rotate_left``     |
-+-------------------+-----------------+-------------------+-------------------------------------+
-| Rotate Right      | :kbd:`S`        | :kbd:`S`          | ``tile_map_editor/rotate_right``    |
-+-------------------+-----------------+-------------------+-------------------------------------+
-| Clear Transform   | :kbd:`W`        | :kbd:`W`          | ``tile_map_editor/clear_transform`` |
-+-------------------+-----------------+-------------------+-------------------------------------+
-| Select            | :kbd:`M`        | :kbd:`M`          | ``tile_map_editor/select``          |
-+-------------------+-----------------+-------------------+-------------------------------------+
-| Cut Selection     | :kbd:`Ctrl + X` | :kbd:`Cmd + X`    | ``tile_map_editor/cut_selection``   |
-+-------------------+-----------------+-------------------+-------------------------------------+
-| Copy Selection    | :kbd:`Ctrl + C` | :kbd:`Cmd + C`    | ``tile_map_editor/copy_selection``  |
-+-------------------+-----------------+-------------------+-------------------------------------+
-| Erase Selection   | :kbd:`Del`      | :kbd:`Cmd + BkSp` | ``tile_map_editor/erase_selection`` |
-+-------------------+-----------------+-------------------+-------------------------------------+
++-------------------+-----------------+-------------------+---------------------------------------+
+| Action name       | Windows, Linux  | macOS             | Editor setting                        |
++===================+=================+===================+=======================================+
+| Select            | :kbd:`S`        | :kbd:`S`          | ``tiles_editor/selection_tool``       |
++-------------------+-----------------+-------------------+---------------------------------------+
+| Cut Selection     | :kbd:`Ctrl + X` | :kbd:`Cmd + X`    | ``tiles_editor/cut``                  |
++-------------------+-----------------+-------------------+---------------------------------------+
+| Copy Selection    | :kbd:`Ctrl + C` | :kbd:`Cmd + C`    | ``tiles_editor/copy``                 |
++-------------------+-----------------+-------------------+---------------------------------------+
+| Paste Selection   | :kbd:`Ctrl + V` | :kbd:`Cmd + V`    | ``tiles_editor/paste``                |
++-------------------+-----------------+-------------------+---------------------------------------+
+| Delete Selection  | :kbd:`Del`      | :kbd:`Cmd + BkSp` | ``tiles_editor/delete``               |
++-------------------+-----------------+-------------------+---------------------------------------+
+| Cancel            | :kbd:`Esc`      | :kbd:`Esc`        | ``tiles_editor/cancel``               |
++-------------------+-----------------+-------------------+---------------------------------------+
+| Paint             | :kbd:`D`        | :kbd:`D`          | ``tiles_editor/paint_tool``           |
++-------------------+-----------------+-------------------+---------------------------------------+
+| Line              | :kbd:`L`        | :kbd:`L`          | ``tiles_editor/line_tool``            |
++-------------------+-----------------+-------------------+---------------------------------------+
+| Rect              | :kbd:`R`        | :kbd:`R`          | ``tiles_editor/rect_tool``            |
++-------------------+-----------------+-------------------+---------------------------------------+
+| Bucket            | :kbd:`B`        | :kbd:`B`          | ``tiles_editor/bucket_tool``          |
++-------------------+-----------------+-------------------+---------------------------------------+
+| Picker            | :kbd:`P`        | :kbd:`P`          | ``tiles_editor/picker``               |
++-------------------+-----------------+-------------------+---------------------------------------+
+| Eraser            | :kbd:`E`        | :kbd:`E`          | ``tiles_editor/eraser``               |
++-------------------+-----------------+-------------------+---------------------------------------+
+| Flip Horizontally | :kbd:`C`        | :kbd:`C`          | ``tiles_editor/flip_tile_horizontal`` |
++-------------------+-----------------+-------------------+---------------------------------------+
+| Flip Vertically   | :kbd:`V`        | :kbd:`V`          | ``tiles_editor/flip_tile_vertical``   |
++-------------------+-----------------+-------------------+---------------------------------------+
+| Rotate Left       | :kbd:`Z`        | :kbd:`Z`          | ``tiles_editor/rotate_tile_left``     |
++-------------------+-----------------+-------------------+---------------------------------------+
+| Rotate Right      | :kbd:`X`        | :kbd:`X`          | ``tiles_editor/rotate_tile_right``    |
++-------------------+-----------------+-------------------+---------------------------------------+
 
 Tileset Editor
 --------------

+ 3 - 2
tutorials/export/exporting_for_android.rst

@@ -40,9 +40,10 @@ Download and install the Android SDK.
     - CMake version 3.10.2.4988404
     - NDK version r23c (23.2.8568313)
 
-- Alternatively, you can install the Android SDK using the `command line tools <https://developer.android.com/studio/#command-line-tools-only>`__.
+- Alternatively, you can install the Android SDK with the `sdkmanager` command line tool.
 
-  - Once the command line tools are installed, run the `sdkmanager <https://developer.android.com/studio/command-line/sdkmanager>`__ command to complete the setup process:
+  - Install the command line tools package using these `instructions <https://developer.android.com/tools/sdkmanager>`__.
+  - Once the command line tools are installed, run the following `sdkmanager` command to complete the setup process:
 
 ::
 

+ 1 - 1
tutorials/export/exporting_for_dedicated_servers.rst

@@ -96,7 +96,7 @@ option is currently inherited, you must tick the box next to it first.
 - **Strip Visuals:** Export this resource, with visual files (textures and materials)
   replaced by placeholder classes. Placeholder classes store the image size
   (as it's sometimes used to position elements in a 2D scene), but nothing else.
-- **Keep:** Export this resource as usual, with visual files interact.
+- **Keep:** Export this resource as usual, with visual files intact.
 - **Remove:** The file is not included in the PCK. This is useful to ignore
   scenes and resources that only the client needs. If you do so, make sure the
   server doesn't reference these client-only scenes and resources in any way.

+ 1 - 1
tutorials/i18n/internationalizing_games.rst

@@ -23,7 +23,7 @@ translations page before, we recommend you give it a read before reading this
 page.
 
 .. note:: We will be using the official demo as an example; you can
-          `download it from the Asset Library <https://godotengine.org/asset-library/asset/134>`_.
+          `download it from the Asset Library <https://godotengine.org/asset-library/asset/2776>`_.
 
 Configuring the imported translation
 ------------------------------------

+ 1 - 1
tutorials/inputs/controllers_gamepads_joysticks.rst

@@ -315,7 +315,7 @@ You can contribute an updated mapping to be included in the next Godot version
 by opening a pull request on the linked repository.
 
 There are many ways to create mappings. One option is to use the mapping wizard
-in the `official Joypads demo <https://godotengine.org/asset-library/asset/140>`__.
+in the `official Joypads demo <https://godotengine.org/asset-library/asset/2785>`__.
 Once you have a working mapping for your controller, you can test it by defining
 the ``SDL_GAMECONTROLLERCONFIG`` environment variable before running Godot:
 

+ 1 - 1
tutorials/math/random_number_generation.rst

@@ -422,7 +422,7 @@ ends up empty. When that happens, you reinitialize it to its default value::
 
 
     func get_fruit():
-        if _fruits.empty():
+        if _fruits.is_empty():
             # Fill the fruits array again and shuffle it.
             _fruits = _fruits_full.duplicate()
             _fruits.shuffle()

+ 2 - 1
tutorials/navigation/navigation_introduction_2d.rst

@@ -94,7 +94,8 @@ It uses the NavigationServer2D and a NavigationAgent2D for path movement.
 
    .. image:: img/nav_2d_min_setup_step1.png
 
-#. Define the moveable navigation area with the NavigationPolygon draw tool.
+#. Define the moveable navigation area with the NavigationPolygon draw tool. Then click
+   the `Bake NavigationPolygon`` button on the toolbar.
 
    .. image:: img/nav_2d_min_setup_step2.png
 

+ 2 - 2
tutorials/navigation/navigation_using_navigationmeshes.rst

@@ -378,7 +378,7 @@ The following script uses the NavigationServer to update a navigation region wit
             PackedInt32Array([0, 1, 2, 3])
         )
 
-        NavigationServer2D.region_set_navigation_polygon(new_2d_region_rid, new_navigation_mesh)
+        NavigationServer2D.region_set_navigation_polygon(region_rid, navigation_mesh)
 
  .. code-tab:: gdscript 3D GDScript
 
@@ -408,4 +408,4 @@ The following script uses the NavigationServer to update a navigation region wit
             PackedInt32Array([0, 1, 2, 3])
         )
 
-        NavigationServer3D.region_set_navigation_mesh(new_3d_region_rid, navigation_mesh)
+        NavigationServer3D.region_set_navigation_mesh(region_rid, navigation_mesh)

+ 0 - 4
tutorials/networking/high_level_multiplayer.rst

@@ -38,10 +38,6 @@ In summary, you can use the low-level networking API for maximum control and imp
           (`here <https://gafferongames.com/categories/game-networking/>`__), including the comprehensive
           `introduction to networking models in games <https://gafferongames.com/post/what_every_programmer_needs_to_know_about_game_networking/>`__.
 
-          If you want to use your low-level networking library of choice instead of Godot's built-in networking,
-          see here for an example:
-          https://github.com/PerduGames/gdnet3
-
 .. warning:: Adding networking to your game comes with some responsibility.
              It can make your application vulnerable if done wrong and may lead to cheats or exploits.
              It may even allow an attacker to compromise the machines your application runs on

+ 1 - 1
tutorials/physics/ragdoll_system.rst

@@ -10,7 +10,7 @@ Since version 3.1, Godot supports ragdoll physics. Ragdolls rely on physics simu
 
 In this tutorial, we will be using the Platformer3D demo to set up a ragdoll.
 
-.. note:: You can download the Platformer3D demo on `GitHub <https://github.com/godotengine/godot-demo-projects/tree/master/3d/platformer>`_ or using the `Asset Library <https://godotengine.org/asset-library/asset/125>`_.
+.. note:: You can download the Platformer3D demo on `GitHub <https://github.com/godotengine/godot-demo-projects/tree/master/3d/platformer>`_ or using the `Asset Library <https://godotengine.org/asset-library/asset/2748>`_.
 
 Setting up the ragdoll
 ----------------------

+ 1 - 1
tutorials/physics/soft_body.rst

@@ -34,7 +34,7 @@ Cloak simulation
 
 Let's make a cloak in the Platformer3D demo.
 
-.. note:: You can download the Platformer3D demo on `GitHub <https://github.com/godotengine/godot-demo-projects/tree/master/3d/platformer>`_ or `the Asset Library <https://godotengine.org/asset-library/asset/125>`_.
+.. note:: You can download the Platformer3D demo on `GitHub <https://github.com/godotengine/godot-demo-projects/tree/master/3d/platformer>`_ or `the Asset Library <https://godotengine.org/asset-library/asset/2748>`_.
 
 Open the ``Player`` scene, add a ``SoftBody`` node and assign a ``PlaneMesh`` to it.
 

+ 2 - 2
tutorials/plugins/editor/inspector_plugins.rst

@@ -98,12 +98,12 @@ return ``true`` if this plugin should handle the object or its properties.
 .. note:: This includes any :ref:`class_Resource` attached to the object.
 
 You can implement four other methods to add controls to the inspector at
-specific positions. The ``parse_begin()`` and ``parse_end()`` methods are called
+specific positions. The ``_parse_begin()`` and ``_parse_end()`` methods are called
 only once at the beginning and the end of parsing for each object, respectively.
 They can add controls at the top or bottom of the inspector layout by calling
 ``add_custom_control()``.
 
-As the editor parses the object, it calls the ``parse_category()`` and
+As the editor parses the object, it calls the ``_parse_category()`` and
 ``_parse_property()`` methods. There, in addition to ``add_custom_control()``,
 you can call both ``add_property_editor()`` and
 ``add_property_editor_for_multiple_properties()``. Use these last two methods to

BIN
tutorials/rendering/img/screenres.png


BIN
tutorials/rendering/img/screenres.webp


BIN
tutorials/rendering/img/stretch.png


File diff suppressed because it is too large
+ 0 - 0
tutorials/rendering/img/stretch.svg


BIN
tutorials/rendering/img/stretchsettings.png


BIN
tutorials/rendering/img/stretchsettings.webp


+ 7 - 11
tutorials/rendering/multiple_resolutions.rst

@@ -59,7 +59,7 @@ Base size
 A base size for the window can be specified in the Project Settings under
 **Display → Window**.
 
-.. image:: img/screenres.png
+.. image:: img/screenres.webp
 
 However, what it does is not completely obvious; the engine will *not*
 attempt to switch the monitor to this resolution. Rather, think of this
@@ -119,20 +119,16 @@ Stretch settings
 
 Stretch settings are located in the project settings and provide several options:
 
-.. image:: img/stretchsettings.png
+.. image:: img/stretchsettings.webp
 
 Stretch Mode
 ^^^^^^^^^^^^
 
 The **Stretch Mode** setting defines how the base size is stretched to fit
-the resolution of the window or screen.
-
-.. image:: img/stretch.png
-
-The animations below use a "base size" of just 16×9 pixels to
-demonstrate the effect of different stretch modes. A single sprite, also
-16×9 pixels in size, covers the entire viewport, and a diagonal
-:ref:`Line2D <class_Line2D>` is added on top of it:
+the resolution of the window or screen. The animations below use a "base
+size" of just 16×9 pixels to demonstrate the effect of different stretch
+modes. A single sprite, also 16×9 pixels in size, covers the entire viewport,
+and a diagonal :ref:`Line2D <class_Line2D>` is added on top of it:
 
 .. image:: img/stretch_demo_scene.png
 
@@ -459,7 +455,7 @@ Non-game application
 - Keep the stretch mode to its default value, ``disabled``.
 - Keep the stretch aspect to its default value, ``ignore``
   (its value won't be used since the stretch mode is ``disabled``).
-- You can define a minimum window size by setting ``OS.min_window_size`` in a
+- You can define a minimum window size by calling ``get_window().set_min_size()`` in a
   script's ``_ready()`` function. This prevents the user from resizing the application
   below a certain size, which could break the UI layout.
 

+ 2 - 2
tutorials/scripting/change_scenes_manually.rst

@@ -4,8 +4,8 @@ Change scenes manually
 ======================
 
 Sometimes it helps to have more control over how one swaps scenes around.
-As mentioned above, a :ref:`Viewport <class_Viewport>`'s child nodes
-will render to the image it generates. This holds true even for nodes outside
+A :ref:`Viewport <class_Viewport>`'s child nodes will render to the image
+it generates, this holds true even for nodes outside
 of the "current" scene. Autoloads fall into this category, but so do
 scenes which one instances and adds to the tree at runtime:
 

+ 1 - 1
tutorials/scripting/creating_script_templates.rst

@@ -201,7 +201,7 @@ Base placeholders
 +==========================+====================================================+
 | ``_BINDINGS_NAMESPACE_`` | The name of the Godot namespace (used in C# only). |
 +--------------------------+----------------------------------------------------+
-| ``_CLASS_``              | The name of the new class (used in C# only).       |
+| ``_CLASS_``              | The name of the new class.                         |
 +--------------------------+----------------------------------------------------+
 | ``_BASE_``               | The base type a new script inherits from.          |
 +--------------------------+----------------------------------------------------+

+ 2 - 2
tutorials/scripting/debug/the_profiler.rst

@@ -59,8 +59,8 @@ The main measurements are frame time, physics frame, idle time, and physics time
 - **Physics time** is the time Godot took to update physics tasks, like
   `_physics_process` and built-in nodes set to **Physics** update.
 
-.. note:: In Godot 3, **Frame Time** includes rendering time. Say you find a
-          mysterious spike of lag in your game, but your physics and scripts are
+.. note:: **Frame Time** includes rendering time. Say you find a mysterious
+          spike of lag in your game, but your physics and scripts are
           all running fast. The delay could be due to the appearance of
           particles or visual effects!
 

+ 1 - 1
tutorials/scripting/resources.rst

@@ -160,7 +160,7 @@ Creating your own resources
 Like any Object in Godot, users can also script Resources. Resource scripts
 inherit the ability to freely translate between object properties and serialized
 text or binary data (\*.tres, \*.res). They also inherit the reference-counting
-memory management from the Reference type.
+memory management from the RefCounted type.
 
 This comes with many distinct advantages over alternative data
 structures, such as JSON, CSV, or custom TXT files. Users can only import these

+ 1 - 14
tutorials/scripting/singletons_autoload.rst

@@ -73,21 +73,8 @@ in top-to-bottom order.
 
 .. image:: img/autoload_example.webp
 
-This means that any node can access a singleton named "PlayerVariables" with:
-
-.. tabs::
- .. code-tab:: gdscript GDScript
-
-   var player_vars = get_node("/root/PlayerVariables")
-   player_vars.health -= 10
-
- .. code-tab:: csharp
-
-    var playerVariables = GetNode<PlayerVariables>("/root/PlayerVariables");
-    playerVariables.Health -= 10; // Instance field.
-
 If the **Enable** column is checked (which is the default), then the singleton can
-be accessed directly in GDScript, without requiring ``get_node()``:
+be accessed directly in GDScript:
 
 .. tabs::
  .. code-tab:: gdscript GDScript

+ 2 - 9
tutorials/shaders/advanced_postprocessing.rst

@@ -11,18 +11,11 @@ In particular, it will explain how to write a post-processing shader that
 uses the depth buffer. You should already be familiar with post-processing
 generally and, in particular, with the methods outlined in the :ref:`custom post-processing tutorial <doc_custom_postprocessing>`.
 
-In the previous post-processing tutorial, we rendered the scene to a :ref:`Viewport <class_Viewport>`
-and then rendered the Viewport in a :ref:`SubViewportContainer <class_SubViewportContainer>`
-to the main scene. One limitation of this method is that we could not access the
-depth buffer because the depth buffer is only available in shaders and
-Viewports do not maintain depth information.
-
 Full screen quad
 ----------------
 
-In the :ref:`custom post-processing tutorial <doc_custom_postprocessing>`, we
-covered how to use a Viewport to make custom post-processing effects. There are
-two main drawbacks of using a Viewport:
+One way to make custom post-processing effects is by using a viewport. However,
+there are two main drawbacks of using a Viewport:
 
 1. The depth buffer cannot be accessed
 2. The effect of the post-processing shader is not visible in the editor

+ 2 - 1
tutorials/shaders/shader_reference/sky_shader.rst

@@ -174,7 +174,8 @@ There are 4 ``LIGHTX`` lights, accessed as ``LIGHT0``, ``LIGHT1``, ``LIGHT2``, a
 +---------------------------------+--------------------------------------------------------------------------------------------------------------------------+
 | in vec3 **LIGHTX_COLOR**        | Color of ``LIGHTX``.                                                                                                     |
 +---------------------------------+--------------------------------------------------------------------------------------------------------------------------+
-| in float **LIGHTX_SIZE**        | Angular diameter of ``LIGHTX`` in the sky. Expressed in degrees. For reference, the sun from earth is about 0.5 degrees. |
+| in float **LIGHTX_SIZE**        | Angular diameter of ``LIGHTX`` in the sky. Expressed in radians. For reference, the sun from earth is about .0087 radians|
+|                                 | (0.5 degrees).                                                                                                           |
 +---------------------------------+--------------------------------------------------------------------------------------------------------------------------+
 | in float **PI**                 | A ``PI`` constant (``3.141592``).                                                                                        |
 |                                 | A ratio of a circle's circumference to its diameter and amount of radians in half turn.                                  |

+ 3 - 3
tutorials/shaders/shaders_style_guide.rst

@@ -9,9 +9,9 @@ discussions, and tutorials. Hopefully, this will also support the development of
 auto-formatting tools.
 
 Since the Godot shader language is close to C-style languages and GLSL, this
-guide is inspired by Godot's own GLSL formatting. You can view an example of a
-GLSL file in Godot's source code
-`here <https://github.com/godotengine/godot/blob/master/drivers/gles3/shaders/copy.glsl>`__.
+guide is inspired by Godot's own GLSL formatting. You can view examples of
+GLSL files in Godot's source code
+`here <https://github.com/godotengine/godot/blob/master/drivers/gles3/shaders/>`__.
 
 Style guides aren't meant as hard rulebooks. At times, you may not be able to
 apply some of the guidelines below. When that happens, use your best judgment,

+ 1 - 1
tutorials/ui/custom_gui_controls.rst

@@ -107,7 +107,7 @@ Alternatively, set it using a function:
 
     public override void _Ready()
     {
-        SetCustomMinimumSize(new Vector2(20, 20));
+        CustomMinimumSize = new Vector2(20, 20);
     }
 
 Input

Some files were not shown because too many files changed in this diff