Find a file
Fabio Alessandrelli 60687ce778 Fix certificate generation with mbedtls 2.16.8 .
When generating certificates with
`Crypto.generate_self_signed_certificate` we generate the PEM in a
buffer via `mbedtls_x509write_crt_pem`.

Since version 2.16.8, mbedtls adds spurious data at the end of the
buffer due to internal optimizations, this breaks our logic when we try
to immediately parse it and return a proper `X509Certificate` object.

This commit updates the code to find the actual PEM length to parse
using `strlen`, takes extra caution always adding the terminator to the
buffer, and slightly improve error messages.
2020-09-15 18:47:51 +02:00
.github
core Make Object::to_string virtual 2020-09-15 18:14:45 +03:00
doc Merge pull request #42086 from akien-mga/makerst-newline-eof 2020-09-15 15:18:50 +02:00
drivers Replace calls to gmtime with gmtime_r and localtime with localtime_r. 2020-09-04 12:22:43 +01:00
editor Show correct name of signal when editing an existing one 2020-09-15 12:20:45 +02:00
main Remove unused Python imports. 2020-09-10 11:38:52 +01:00
misc Remove unused variable in fixed-size.html. 2020-09-10 08:02:06 +01:00
modules Fix certificate generation with mbedtls 2.16.8 . 2020-09-15 18:47:51 +02:00
platform Only display the Windows toggle console option if it can actually be used 2020-09-14 21:52:04 +02:00
scene Merge pull request #36374 from kuruk-mm/tilemap_filter_set_and_update 2020-09-15 17:15:09 +02:00
servers Fixes crash when saving scene 2020-09-13 16:15:46 +08:00
tests Add test cases for numeric literals with underscores 2020-09-14 20:21:07 +02:00
thirdparty tinyexr: Sync with upstream 1.0.0 2020-09-09 22:07:24 +02:00
.clang-format
.clang-tidy
.editorconfig
.gitattributes
.gitignore git: Ignore clangd cache folder 2020-09-10 12:50:01 +02:00
.lgtm.yml Create a basic .lgtm.yml file. 2020-09-03 14:49:14 +01:00
.mailmap Update AUTHORS and DONORS list 2020-09-08 17:22:50 +02:00
AUTHORS.md Update AUTHORS and DONORS list 2020-09-08 17:22:50 +02:00
CHANGELOG.md Mention compatibility-breaking Camera2D offset change in the changelog 2020-09-15 15:56:36 +02:00
CONTRIBUTING.md
COPYRIGHT.txt tinyexr: Sync with upstream 1.0.0 2020-09-09 22:07:24 +02:00
DONORS.md Update AUTHORS and DONORS list 2020-09-08 17:22:50 +02:00
glsl_builders.py Remove unused Python local variables. 2020-09-11 11:39:15 +01:00
icon.png
icon.svg
LICENSE.txt
logo.png
logo.svg
LOGO_LICENSE.md
methods.py Merge pull request #41453 from Xrayez/custom-modules-visual-studio 2020-09-03 11:57:15 +02:00
platform_methods.py
README.md
SConstruct Remove unused Python imports. 2020-09-10 11:38:52 +01:00
version.py

Godot Engine

Godot Engine logo

2D and 3D cross-platform game engine

Godot Engine is a feature-packed, cross-platform game engine to create 2D and 3D games from a unified interface. It provides a comprehensive set of common tools, so that users can focus on making games without having to reinvent the wheel. Games can be exported in one click to a number of platforms, including the major desktop platforms (Linux, macOS, Windows), mobile platforms (Android, iOS), as well as Web-based platforms (HTML5) and consoles.

Free, open source and community-driven

Godot is completely free and open source under the very permissive MIT license. No strings attached, no royalties, nothing. The users' games are theirs, down to the last line of engine code. Godot's development is fully independent and community-driven, empowering users to help shape their engine to match their expectations. It is supported by the Software Freedom Conservancy not-for-profit.

Before being open sourced in February 2014, Godot had been developed by Juan Linietsky and Ariel Manzur (both still maintaining the project) for several years as an in-house engine, used to publish several work-for-hire titles.

Screenshot of a 3D scene in Godot Engine

Getting the engine

Binary downloads

Official binaries for the Godot editor and the export templates can be found on the homepage.

Compiling from source

See the official docs for compilation instructions for every supported platform.

Community and contributing

Godot is not only an engine but an ever-growing community of users and engine developers. The main community channels are listed on the homepage.

To get in touch with the engine developers, the best way is to join the #godotengine-devel IRC channel on Freenode.

To get started contributing to the project, see the contributing guide.

Documentation and demos

The official documentation is hosted on ReadTheDocs. It is maintained by the Godot community in its own GitHub repository.

The class reference is also accessible from the Godot editor.

The official demos are maintained in their own GitHub repository as well.

There are also a number of other learning resources provided by the community, such as text and video tutorials, demos, etc. Consult the community channels for more information.

Code Triagers Badge Translate on Weblate Total alerts on LGTM TODOs