diff --git a/about/introduction.rst b/about/introduction.rst index 13d0618df..a8925e00d 100644 --- a/about/introduction.rst +++ b/about/introduction.rst @@ -72,7 +72,7 @@ relatively intuitive: - The :ref:`sec-general` section contains this introduction as well as information about the engine, its history, its licensing, authors, etc. It also contains the :ref:`doc_faq`. -- The :ref:`sec-learn` section is the the main *raison d'ĂȘtre* of this +- The :ref:`sec-learn` section is the main *raison d'ĂȘtre* of this documentation, as it contains all the necessary information on using the engine to make games. It starts with the :ref:`Step by step ` tutorial which should be the entry point for all diff --git a/classes/class_configfile.rst b/classes/class_configfile.rst index e3260121f..f0475606c 100644 --- a/classes/class_configfile.rst +++ b/classes/class_configfile.rst @@ -123,6 +123,6 @@ Saves the contents of the ConfigFile object to the file specified as a parameter - void **set_value** **(** :ref:`String` section, :ref:`String` key, :ref:`Variant` value **)** -Assigns a value to the specified key of the the specified section. If the section and/or the key do not exist, they are created. Passing a ``null`` value deletes the specified key if it exists, and deletes the section if it ends up empty once the key has been removed. +Assigns a value to the specified key of the specified section. If the section and/or the key do not exist, they are created. Passing a ``null`` value deletes the specified key if it exists, and deletes the section if it ends up empty once the key has been removed. diff --git a/classes/class_gradient.rst b/classes/class_gradient.rst index 40139de19..f1088333d 100644 --- a/classes/class_gradient.rst +++ b/classes/class_gradient.rst @@ -52,7 +52,7 @@ Member Variables Description ----------- -Given a set of colors, this node will interpolate them in order, meaning, that if you have color 1, color 2 and color3, the ramp will interpolate (generate the colors between two colors) from color 1 to color 2 and from color 2 to color 3. Initially the ramp will have 2 colors (black and white), one (black) at ramp lower offset offset 0 and the other (white) at the ramp higher offset 1. +Given a set of colors, this node will interpolate them in order, meaning, that if you have color 1, color 2 and color3, the ramp will interpolate (generate the colors between two colors) from color 1 to color 2 and from color 2 to color 3. Initially the ramp will have 2 colors (black and white), one (black) at ramp lower offset 0 and the other (white) at the ramp higher offset 1. Member Function Description --------------------------- diff --git a/classes/class_prismmesh.rst b/classes/class_prismmesh.rst index 542451d1c..4e56cdf77 100644 --- a/classes/class_prismmesh.rst +++ b/classes/class_prismmesh.rst @@ -21,7 +21,7 @@ Member Variables .. _class_PrismMesh_left_to_right: -- :ref:`float` **left_to_right** - Displacement of of the upper edge along the x-axis. 0.0 positions edge straight above the bottome left edge. Defaults to 0.5 (positioned on the midpoint). +- :ref:`float` **left_to_right** - Displacement of the upper edge along the x-axis. 0.0 positions edge straight above the bottom left edge. Defaults to 0.5 (positioned on the midpoint). .. _class_PrismMesh_size: diff --git a/classes/class_spriteframes.rst b/classes/class_spriteframes.rst index e0600b3c3..c81ae8873 100644 --- a/classes/class_spriteframes.rst +++ b/classes/class_spriteframes.rst @@ -71,7 +71,7 @@ Member Function Description - void **add_animation** **(** :ref:`String` anim **)** -Adds a new animation to the the library. +Adds a new animation to the library. .. _class_SpriteFrames_add_frame: diff --git a/community/contributing/pr_workflow.rst b/community/contributing/pr_workflow.rst index 98c4b75ee..5073c0925 100644 --- a/community/contributing/pr_workflow.rst +++ b/community/contributing/pr_workflow.rst @@ -41,7 +41,7 @@ habits regarding the Git and PR workflow, and we therefore recommend not to use them. In particular, we advise not to use Github's online editor for code contributions (although it's tolerated for small fixes or documentation changes) as it enforces one commit per file and per modification, -which qucikly leads to PRs with an unreadable Git history (especially after peer review). +which quickly leads to PRs with an unreadable Git history (especially after peer review). .. seealso:: The first sections of Git's "Book" are a good introduction to the tool's philosophy and the various commands you need to diff --git a/development/compiling/compiling_for_windows.rst b/development/compiling/compiling_for_windows.rst index 9011d996f..ee15a3aa3 100644 --- a/development/compiling/compiling_for_windows.rst +++ b/development/compiling/compiling_for_windows.rst @@ -252,7 +252,7 @@ Some of these shortcuts (namely the 64-bit compilers) seem to not be available in the Express edition of Visual Studio or Visual C++. Before recreating the commands, make sure that ``cl.exe`` executables are present in one of these locations, they are the actual compilers for the -arhitecture you want to build from the command prompt. +architecture you want to build from the command prompt. :: diff --git a/development/file_formats/tscn.rst b/development/file_formats/tscn.rst index 76cf1b61e..5c34cda5b 100644 --- a/development/file_formats/tscn.rst +++ b/development/file_formats/tscn.rst @@ -34,7 +34,7 @@ theory) be the number of resources within the file, though in practice it's value seems not to matter. These sections should appear in order, but it can be hard to distinguish -them. The only difference between them is the the first element in the heading +them. The only difference between them is the first element in the heading for all of the items in the section. For example, the heading of all external resources should start with :code:`[ext_resource .....]` diff --git a/getting_started/scripting/c_sharp/c_sharp_features.rst b/getting_started/scripting/c_sharp/c_sharp_features.rst index 5b8239d04..6adb75ce8 100644 --- a/getting_started/scripting/c_sharp/c_sharp_features.rst +++ b/getting_started/scripting/c_sharp/c_sharp_features.rst @@ -3,7 +3,7 @@ Features ============ -This page provied an overview over the commonly used features of both C# and Godot +This page provides an overview over the commonly used features of both C# and Godot and how they are used together. Type Conversion and Casting diff --git a/getting_started/scripting/visual_script/nodes_purposes.rst b/getting_started/scripting/visual_script/nodes_purposes.rst index 833065c40..dea42f8d8 100644 --- a/getting_started/scripting/visual_script/nodes_purposes.rst +++ b/getting_started/scripting/visual_script/nodes_purposes.rst @@ -31,7 +31,7 @@ Ports ~~~~~ Nodes in Godot Visual Scripting have *Ports*. These are endpoints that appear to the -left and right of nodes and which can be used to make *Connnections*: +left and right of nodes and which can be used to make *Connections*: There are two types of *Ports*: *Sequence* and *Data*. .. image:: img/visual_script17.png diff --git a/getting_started/scripting/visual_script/what_is_visual_scripting.rst b/getting_started/scripting/visual_script/what_is_visual_scripting.rst index 31853c84b..c64564291 100644 --- a/getting_started/scripting/visual_script/what_is_visual_scripting.rst +++ b/getting_started/scripting/visual_script/what_is_visual_scripting.rst @@ -15,7 +15,7 @@ to modify than just writing a few characters. With the misunderstanding cleared up, the question that remains is what are the practical uses for Visual Scripting. -The most common use cases are are as follows: +The most common use cases are as follows: * Game development beginners who want to learn an engine but have no programming experience yet. * Artists and Game Designers who have no experience in programming and want to create quick prototypes or simple games. diff --git a/getting_started/workflow/assets/importing_audio_samples.rst b/getting_started/workflow/assets/importing_audio_samples.rst index c9a84c3ea..afe9dae58 100644 --- a/getting_started/workflow/assets/importing_audio_samples.rst +++ b/getting_started/workflow/assets/importing_audio_samples.rst @@ -10,7 +10,7 @@ Raw audio data in general is large and undesired. Godot provides two main options to import your audio data: WAV and OGG Vorbis. Each has different advantages. -* Wav files use raw data or light compression, requre small amount of CPU to play back (hundreds of simultaneous voices in this format are fine), but take up significant space. +* Wav files use raw data or light compression, require small amount of CPU to play back (hundreds of simultaneous voices in this format are fine), but take up significant space. * Ogg Vorbis files use a stronger compression that results in much smaller file size, but uses significantly more processor to play back. diff --git a/getting_started/workflow/assets/importing_images.rst b/getting_started/workflow/assets/importing_images.rst index b2012fcaf..d64bb525c 100644 --- a/getting_started/workflow/assets/importing_images.rst +++ b/getting_started/workflow/assets/importing_images.rst @@ -33,7 +33,7 @@ Godot offers several compression methods, depending on the use case. Compress Mode ~~~~~~~~~~~~~ -* VRAM Compression: This is the most common copression mode for 3D assets. File on disk is reduced and +* VRAM Compression: This is the most common compression mode for 3D assets. File on disk is reduced and video memory usage is also reduced considerably. For 3D, it may present unwanted artifacts, though. * Lossless Compression: This is the most common compression for 2D assets. It shows assets without any kind of artifacting, and disk compression is decent. It will use considerably more amount of video memory than VRAM, though. diff --git a/getting_started/workflow/export/changing_application_icon_for_windows.rst b/getting_started/workflow/export/changing_application_icon_for_windows.rst index da53bbec8..cf82485ac 100644 --- a/getting_started/workflow/export/changing_application_icon_for_windows.rst +++ b/getting_started/workflow/export/changing_application_icon_for_windows.rst @@ -29,13 +29,13 @@ Before selecting it in the export options, you will need to install an extra too You can download it here: https://github.com/electron/rcedit/releases -After downloading, you need to tell Godot the path to the **rcedit** executable on your computer. Go to Editor>Editor Settings>Export>Windows. Click on the folder icon for the **rcedit** entry. Navigate to and select the **rcedit** exectuable. +After downloading, you need to tell Godot the path to the **rcedit** executable on your computer. Go to Editor>Editor Settings>Export>Windows. Click on the folder icon for the **rcedit** entry. Navigate to and select the **rcedit** executable. .. note:: For Linux users, you will also need to install wine in order to use rcedit. For more information, check https://www.winehq.org/ .. image:: img/icon_rcedit.png -Now you have everything ready for changing the file icon. To do that, you will need to specify the icon when exporting. Go to Project>Export. Assuming you have a windows deskop preset ready, in the options, under Application, you will find Icon, select your desired image in ICO format as your file icon. +Now you have everything ready for changing the file icon. To do that, you will need to specify the icon when exporting. Go to Project>Export. Assuming you have a windows desktop preset ready, in the options, under Application, you will find Icon, select your desired image in ICO format as your file icon. .. note:: To export an ICO image, you can use GIMP. For more details, please refer to this tutorial: http://skyboygames.com/easily-create-a-windows-app-icon-with-gimp/ diff --git a/getting_started/workflow/export/customizing_html5_shell.rst b/getting_started/workflow/export/customizing_html5_shell.rst index 88bd54fb5..842cd8362 100644 --- a/getting_started/workflow/export/customizing_html5_shell.rst +++ b/getting_started/workflow/export/customizing_html5_shell.rst @@ -160,7 +160,7 @@ Defaults to ``true``. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ By default, the first canvas element on the page is used for rendering. -By calling this method, another canvas can be specifed. +By calling this method, another canvas can be specified. ``engine.setCanvasResizedOnStart(enabled)`` ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -193,7 +193,7 @@ The following methods are used to implement the presentation: This method is used to display download progress. The passed callback function is called with two number arguments, the first argument specifies -bytes loaded so far, the second argument specifices the total number of bytes +bytes loaded so far, the second argument specifies the total number of bytes to load. .. code-block:: js diff --git a/tutorials/2d/using_tilemaps.rst b/tutorials/2d/using_tilemaps.rst index f612029e4..f1c87700d 100644 --- a/tutorials/2d/using_tilemaps.rst +++ b/tutorials/2d/using_tilemaps.rst @@ -47,7 +47,7 @@ TileSet scene Create a new scene with a regular Node or Node2D as root. For each tile you want to define, add a sprite node as a child. Since tiles here are 50x50, you should turn on the grid (``View -> Show Grid`` or ``G`` key) and enable snap (``Use Snap`` icon or ``S`` key). -Moving tiles with the mouse might still be a innacurate +Moving tiles with the mouse might still be a inaccurate so use your arrow keys as well. If more than one tile is present in the source image, make sure to use diff --git a/tutorials/3d/environment_and_post_processing.rst b/tutorials/3d/environment_and_post_processing.rst index 500953ab5..4bc92e685 100644 --- a/tutorials/3d/environment_and_post_processing.rst +++ b/tutorials/3d/environment_and_post_processing.rst @@ -149,7 +149,7 @@ Screen-Space Reflections (SSR) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ While Godot supports three sources of reflection data (Sky, ReflectionProbe and GIProbe), they may not provide enough detail for all situations. Scenarios -where Screen Space Refletions make the most sense are when objects are in contact with each other (object over floor, over a table, floating on water, etc). +where Screen Space Reflections make the most sense are when objects are in contact with each other (object over floor, over a table, floating on water, etc). .. image:: img/environment_ssr.png @@ -246,7 +246,7 @@ Both will cause the light to start bleeding out of the brighter areas. Once glow is visible, it can be controlled with a few extra parameters: - **Intensity** is an overall scale for the effect, it can be made stronger or weaker (0.0 removes it). -- **Strength** is how strong the gaussian filter kernel is processed. Greater values make the filter saturate and expand outwards. In general changing this is not needed, as the size can be more efficienly adjusted with the **Levels**. +- **Strength** is how strong the gaussian filter kernel is processed. Greater values make the filter saturate and expand outwards. In general changing this is not needed, as the size can be more efficiently adjusted with the **Levels**. The **Blend Mode** of the effect can also be changed: diff --git a/tutorials/3d/fps_tutorial/part_four.rst b/tutorials/3d/fps_tutorial/part_four.rst index 734538d0b..05223907a 100644 --- a/tutorials/3d/fps_tutorial/part_four.rst +++ b/tutorials/3d/fps_tutorial/part_four.rst @@ -267,7 +267,7 @@ One of the major things we ideally want to change is how the weapon code is hand from how much ammo a weapon carries, to firing bullets. While this has the advantage of having all of your code in one place, it would be much nicer if we make a weapon interface so we can create/change weapons easily without having to scroll through ``Player.gd`` to look for the bit of code we want to add/change. -Open up ``Player.tscn`` and navigate to the ``Gun_fire_points`` node. Lets make the pistol first. Select ``Pistol_point`` and attach a node node and call it +Open up ``Player.tscn`` and navigate to the ``Gun_fire_points`` node. Lets make the pistol first. Select ``Pistol_point`` and attach a node and call it ``Weapon_Pistol.gd``. Our weapon scripts are going to do four things: They're going to handle *firing*, *reloading*, *equipping*, and *unequipping*. @@ -1171,7 +1171,7 @@ We then check to see if we have a joypad connected. If we do, we then assign ``j We then account for the joypad's dead zone, just like in ``process_input``. -Regardless of whehter or not there is a joypad connected, we rotate ``rotation_helper`` and ourselves using ``joypad_vec``. If we do not have a joypad connected, +Regardless of whether or not there is a joypad connected, we rotate ``rotation_helper`` and ourselves using ``joypad_vec``. If we do not have a joypad connected, ``joypad_vec`` will be equal to zero, which will do nothing. Notice how the code that handles rotating ourselves and ``rotation_helper`` is exactly the same as the @@ -1202,7 +1202,7 @@ Open up ``Player.gd`` and add the following global variables: var mouse_scroll_value = 0 const MOUSE_SENSITIVITY_SCROLL_WHEEL = 0.08 -Lets go over what each of these new varibles will be doing: +Lets go over what each of these new variables will be doing: * ``mouse_scroll_value``: The value of the mouse scroll wheel. * ``MOUSE_SENSITIVITY_SCROLL_WHEEL``: How much a single scroll action increases mouse_scroll_value diff --git a/tutorials/3d/spatial_material.rst b/tutorials/3d/spatial_material.rst index c1a977556..343101d51 100644 --- a/tutorials/3d/spatial_material.rst +++ b/tutorials/3d/spatial_material.rst @@ -180,7 +180,7 @@ Specifies when depth rendering must take place. * Always: Depth draw is drawn for both opaque and transparent objects * Never: No depth draw takes place (note: do not confuse with depth test option above) * Depth Pre-Pass: For transparent objects, an opaque pass is made first with the opaque parts, - then tranparency is drawn above. Use this option with transparent grass or tree foliage. + then transparency is drawn above. Use this option with transparent grass or tree foliage. .. image:: img/material_depth_draw.png diff --git a/tutorials/3d/using_transforms.rst b/tutorials/3d/using_transforms.rst index 814a66dde..110c01575 100644 --- a/tutorials/3d/using_transforms.rst +++ b/tutorials/3d/using_transforms.rst @@ -62,7 +62,7 @@ Depending on the type of game or effect desired, the order in which you want axi Interpolation ============= -Another problem with using Euler angles is interpolation. Imagine you want to transition between two different camera or enemy positions (including rotations). One logical way to approach this is to interpolate the angles from one position to to the next. One would expect it to look like this: +Another problem with using Euler angles is interpolation. Imagine you want to transition between two different camera or enemy positions (including rotations). One logical way to approach this is to interpolate the angles from one position to the next. One would expect it to look like this: .. image:: img/transforms_interpolate1.gif diff --git a/tutorials/animation/cutout_animation.rst b/tutorials/animation/cutout_animation.rst index 2a47aadc1..15f607fd3 100644 --- a/tutorials/animation/cutout_animation.rst +++ b/tutorials/animation/cutout_animation.rst @@ -338,7 +338,7 @@ that will remain unused. Keyframing IK ~~~~~~~~~~~~~ -When editing IK chains, is is not necessary to select the whole chain to +When editing IK chains, it is not necessary to select the whole chain to add keyframes. Selecting the endpoint of the chain and inserting a keyframe will automatically insert keyframes until the chain base too. This makes the task of animating extremities much simpler. diff --git a/tutorials/gui/custom_gui_controls.rst b/tutorials/gui/custom_gui_controls.rst index 2925046e0..884052805 100644 --- a/tutorials/gui/custom_gui_controls.rst +++ b/tutorials/gui/custom_gui_controls.rst @@ -37,7 +37,7 @@ focus for keyboard or joypad input. Examples of this are entering text or pressing a button. This is controlled with the :ref:`Control.focus_mode ` member variable. When drawing, and if the control supports input focus, it is -always desired to show some sort of indicator (highight, box, etc) to +always desired to show some sort of indicator (highlight, box, etc) to indicate that this is the currently focused control. To check for this status, the :ref:`Control.has_focus() ` method exists. Example diff --git a/tutorials/gui/gui_skinning.rst b/tutorials/gui/gui_skinning.rst index 3a1e1e9e6..9a8f8b58e 100644 --- a/tutorials/gui/gui_skinning.rst +++ b/tutorials/gui/gui_skinning.rst @@ -49,7 +49,7 @@ Theme options Each kind of option in a theme can be: - **An integer constant**: A single numerical constant. Generally used - to define spacing between compoments or alignment. + to define spacing between components or alignment. - **A Color**: A single color, with or without transparency. Colors are usually applied to fonts and icons. - **A Texture**: A single image. Textures are not often used, but when @@ -139,7 +139,7 @@ go to the "theme" menu and select "Add Class Item": .. image:: img/themeci.png -A menu will appear promting the type of control to create. Select +A menu will appear prompting the type of control to create. Select "Button": .. image:: img/themeci2.png diff --git a/tutorials/math/rotations.rst b/tutorials/math/rotations.rst index bf308d939..3dd71ee37 100644 --- a/tutorials/math/rotations.rst +++ b/tutorials/math/rotations.rst @@ -450,7 +450,7 @@ But how do we choose :math:`\boldsymbol n` and :math:`\varphi`? Well, we simply R(\lambda) = e^{\lambda \varphi \boldsymbol n \cdot \boldsymbol J } R_1 = (e^{\varphi \varphi \boldsymbol n \cdot \boldsymbol J })^\lambda R_1. -From this expression, it becomes evident evident that the solution is :math:`e^{\varphi \boldsymbol n \cdot \boldsymbol J } = R_2 R_1^T`. +From this expression, it becomes evident that the solution is :math:`e^{\varphi \boldsymbol n \cdot \boldsymbol J } = R_2 R_1^T`. We can also do the same thing in SU(2) and obtain: diff --git a/tutorials/misc/binary_serialization_api.rst b/tutorials/misc/binary_serialization_api.rst index 0a248dfc2..ae0eb8f85 100644 --- a/tutorials/misc/binary_serialization_api.rst +++ b/tutorials/misc/binary_serialization_api.rst @@ -430,7 +430,7 @@ For each String: | X+4 | X | Bytes | UTF-8 Encoded String | +----------+-------+-----------+------------------------+ -Every string is is padded to 4 bytes. +Every string is padded to 4 bytes. 24: :ref:`PoolVector2Array` ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/tutorials/physics/kinematic_character_2d.rst b/tutorials/physics/kinematic_character_2d.rst index 6efbb698c..402016bcb 100644 --- a/tutorials/physics/kinematic_character_2d.rst +++ b/tutorials/physics/kinematic_character_2d.rst @@ -13,7 +13,7 @@ responses). Many attempts were made to create a character controller using the dynamics engines but it wasn't as easy as it seems. Godot has one of the best implementations of dynamic character controller you can find (as it can be seen in the 2d/platformer demo), but using -it requieres a considerable level of skill and understanding of +it requires a considerable level of skill and understanding of physics engines (or a lot of patience with trial and error). Some physics engines such as Havok seem to swear by dynamic character diff --git a/tutorials/physics/using_kinematic_body_2d.rst b/tutorials/physics/using_kinematic_body_2d.rst index 040c096b6..f5eb81d09 100644 --- a/tutorials/physics/using_kinematic_body_2d.rst +++ b/tutorials/physics/using_kinematic_body_2d.rst @@ -8,7 +8,7 @@ Introduction Godot offers a number of collision objects to provide both collision detection and response. Trying to decide which one to use for your project can be confusing. -You can avoid problems and simplify development if you understand how each each +You can avoid problems and simplify development if you understand how each of them works and what their pros and cons are. In this tutorial, we'll look at the :ref:`KinematicBody2D ` node and show some examples of how it can be used. diff --git a/tutorials/platform/android_in_app_purchases.rst b/tutorials/platform/android_in_app_purchases.rst index d9a863834..ba44ad640 100644 --- a/tutorials/platform/android_in_app_purchases.rst +++ b/tutorials/platform/android_in_app_purchases.rst @@ -97,7 +97,7 @@ Google doesn't have this separation in their dashboard. If our product is a cons :: - IAP.connnect("consume_success",self,"on_consume_success") + IAP.connect("consume_success",self,"on_consume_success") IAP.consume("pid") func on_consume_success(item): diff --git a/tutorials/viewports/viewports.rst b/tutorials/viewports/viewports.rst index 6a81754c7..a69278774 100644 --- a/tutorials/viewports/viewports.rst +++ b/tutorials/viewports/viewports.rst @@ -135,7 +135,7 @@ get it back by using: var capture = viewport.get_screen_capture() If the returned image is empty, capture still didn't happen, wait a -little more, as this API is asyncronous. +little more, as this API is asynchronous. Sub-viewport ------------ diff --git a/tutorials/vr/vr_primer.rst b/tutorials/vr/vr_primer.rst index 39aad08f1..4a3d6a03e 100644 --- a/tutorials/vr/vr_primer.rst +++ b/tutorials/vr/vr_primer.rst @@ -57,7 +57,7 @@ When you move through the virtual world, either through controller input or when :ref:`ARVRCamera ` is the second node that must always be a part of your scene and it must always be a child node of your origin node. It is a subclass of Godots normal camera however its position is automatically updated each frame based on the physical orientation and position of the HMD. Also due to the precision required for rendering to an HMD or rendering an AR overlay over a real world camera most of the standard camera properties are ignored. The only properties of the camera that are used are the near and far plane settings. The FOV, aspect ratio and projection mode are all ignored. -Note that for our native mobile VR implementation there is no positional tracking, only the orientation of the phone and by extension the HMD is tracked. This implementation articifically places the camera at a height (Y) of 1.85. +Note that for our native mobile VR implementation there is no positional tracking, only the orientation of the phone and by extension the HMD is tracked. This implementation artificially places the camera at a height (Y) of 1.85. Conclusion, your minimum setup in your scene to make AR or VR work should look like this: