Skip to content

Commit

Permalink
Merge branch 'godotengine:master' into tileset-custom-metadata-correc…
Browse files Browse the repository at this point in the history
…tion
  • Loading branch information
EastToastLiving authored Aug 29, 2024
2 parents 37d2630 + 7698f62 commit 87bccb6
Show file tree
Hide file tree
Showing 5 changed files with 44 additions and 28 deletions.
6 changes: 6 additions & 0 deletions tutorials/2d/particle_systems_2d.rst
Original file line number Diff line number Diff line change
Expand Up @@ -199,6 +199,12 @@ This setting can be used to set the particle system to render at a fixed
FPS. For instance, changing the value to ``2`` will make the particles render
at 2 frames per second. Note this does not slow down the particle system itself.

.. note::

Godot 4.3 does not currently support physics interpolation for 2D particles.
As a workaround, disable physics interpolation for the particles node by setting
**Node > Physics Interpolation > Mode** at the bottom of the inspector.

Fract Delta
~~~~~~~~~~~

Expand Down
2 changes: 1 addition & 1 deletion tutorials/2d/using_tilesets.rst
Original file line number Diff line number Diff line change
Expand Up @@ -524,7 +524,7 @@ Depending on your use cases, one method may be faster than the other:
Using multiple tile selection
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

If you wish to configure various properties on several times at once,
If you wish to configure various properties on several tiles at once,
choose the **Select** mode at the top of the TileSet editor:

After doing this, you can select multiple tiles on the right column by holding
Expand Down
Binary file not shown.
48 changes: 26 additions & 22 deletions tutorials/networking/ssl_certificates.rst
Original file line number Diff line number Diff line change
@@ -1,46 +1,40 @@
.. _doc_ssl_certificates:

SSL/TLS certificates
TLS/SSL certificates
====================

Introduction
------------

It is often desired to use :abbr:`SSL (Secure Sockets Layer)` connections (also
known as :abbr:`TLS (Transport Layer Security)` connections) for communications
It is often desired to use :abbr:`TLS (Transport Layer Security)` connections (also
known as :abbr:`SSL (Secure Sockets Layer)` connections) for communications
to avoid "man in the middle" attacks. Godot has a connection wrapper,
:ref:`StreamPeerTLS <class_StreamPeerTLS>`, which can take a regular connection
and add security around it. The :ref:`HTTPClient <class_HTTPClient>` and
:ref:`HTTPRequest <class_HTTPRequest>` classes also support HTTPS using
this same wrapper.

Godot includes the
`SSL certificate bundle from Mozilla <https://github.com/godotengine/godot/blob/master/thirdparty/certs/ca-certificates.crt>`__,
but you can provide your own with a CRT file in the Project Settings:
Godot will try to use the TLS certificate bundle provided by the operating system,
but also includes the
`TLS certificate bundle from Mozilla <https://github.com/godotengine/godot/blob/master/thirdparty/certs/ca-certificates.crt>`__
as a fallback.

You can alternatively force your own certificate bundle in the Project Settings:

.. figure:: img/tls_certificates_project_setting.webp
:align: center
:alt: Setting the TLS certificate bundle override project setting

Setting the TLS certificate bundle override project setting

When set, this file *overrides* the Mozilla certificate bundle Godot uses
by default. This file should contain any number of public certificates in
When set, this file *overrides* the operating system provided bundle by default.
This file should contain any number of public certificates in
`PEM format <https://en.wikipedia.org/wiki/Privacy-enhanced_Electronic_Mail>`__.

Remember to add ``*.crt`` as the non-resource export filter to your export
preset, so that the exporter recognizes this when exporting your project:

.. figure:: img/tls_certificates_export_filter.webp
:align: center
:alt: Adding ``*.crt`` to non-resource export filter in the export preset

Adding ``*.crt`` to non-resource export filter in the export preset

There are two ways to obtain certificates:

Acquire a certificate from a certificate authority
--------------------------------------------------
Obtain a certificate from a certificate authority
-------------------------------------------------

The main approach to getting a certificate is to use a certificate authority
(CA) such as `Let's Encrypt <https://letsencrypt.org/>`__. This is a more
Expand Down Expand Up @@ -73,7 +67,17 @@ Settings.
access to it: otherwise, the security of the certificate will be
compromised.

OpenSSL has `some documentation
.. warning::

When specifying a self-signed certificate as TLS bundle in the project
settings, normal domain name validation is enforced via the certificate
:abbr:`CN (common name)` and alternative names. See
:ref:`TLSOptions <class_TLSOptions>` to customize domain name validation.

For development purposes Godot can generate self-signed certificates via
:ref:`Crypto.generate_self_signed_certificate
<class_Crypto_method_generate_self_signed_certificate>`.

Alternatively, OpenSSL has some documentation about `generating keys
<https://raw.githubusercontent.com/openssl/openssl/master/doc/HOWTO/keys.txt>`__
about this. For local development purposes **only**, `mkcert
<https://github.com/FiloSottile/mkcert>`__ can be used as an alternative.
and `certificates <https://raw.githubusercontent.com/openssl/openssl/master/doc/HOWTO/certificates.txt>`__.
16 changes: 11 additions & 5 deletions tutorials/scripting/gdscript/gdscript_basics.rst
Original file line number Diff line number Diff line change
Expand Up @@ -165,6 +165,8 @@ in case you want to take a look under the hood.
+------------+---------------------------------------------------------------------------------------------------------------------------------------------------+
| match | See match_. |
+------------+---------------------------------------------------------------------------------------------------------------------------------------------------+
| when | Used by `pattern guards <Pattern guards_>`_ in ``match`` statements. |
+------------+---------------------------------------------------------------------------------------------------------------------------------------------------+
| break | Exits the execution of the current ``for`` or ``while`` loop. |
+------------+---------------------------------------------------------------------------------------------------------------------------------------------------+
| continue | Immediately skips to the next iteration of the ``for`` or ``while`` loop. |
Expand Down Expand Up @@ -1654,10 +1656,10 @@ Basic syntax

::

match <expression>:
match <test value>:
<pattern(s)>:
<block>
<pattern(s)> when <guard expression>:
<pattern(s)> when <pattern guard>:
<block>
<...>

Expand Down Expand Up @@ -1790,9 +1792,13 @@ The following pattern types are available:
Pattern guards
""""""""""""""

A *pattern guard* is an optional condition that follows the pattern list
and allows you to make additional checks before choosing a ``match`` branch.
Unlike a pattern, a pattern guard can be an arbitrary expression.

Only one branch can be executed per ``match``. Once a branch is chosen, the rest are not checked.
If you want to use the same pattern for multiple branches or to prevent choosing a branch with too general pattern,
you can specify a guard expression after the list of patterns with the ``when`` keyword::
you can specify a pattern guard after the list of patterns with the ``when`` keyword::

match point:
[0, 0]:
Expand All @@ -1808,9 +1814,9 @@ you can specify a guard expression after the list of patterns with the ``when``
[var x, var y]:
print("Point (%s, %s)" % [x, y])

- If there is no matching pattern for the current branch, the guard expression
- If there is no matching pattern for the current branch, the pattern guard
is **not** evaluated and the patterns of the next branch are checked.
- If a matching pattern is found, the guard expression is evaluated.
- If a matching pattern is found, the pattern guard is evaluated.

- If it's true, then the body of the branch is executed and ``match`` ends.
- If it's false, then the patterns of the next branch are checked.
Expand Down

0 comments on commit 87bccb6

Please sign in to comment.