Godot Engine – Multi-platform 2D and 3D game engine
Go to file
Tan Wang Leng 48a2fd7a3d gdscript_parser: Fix "unreachable code" false positive for loops
Depending on the conditional statements of the 'for' and 'while' loops,
their body may not even execute once. For example:

    func a():
        var arr = []
        for i in arr:
            return i
        # can be reached, but analysis says cannot
        return -1

    func b():
        var should_loop = false
        while should_loop:
           return 1
        # can be reached, but analysis says cannot
        return 0

The parser will complain that the statements after the comment cannot
be reached, but it is clearly possible for our scenario. This is
because the parser falsely assumes that the loop body will always
execute at least once.

Fix the code to remove this assumption for both of those loops.

(cherry picked from commit 7b1423a61e)
2020-05-25 16:31:07 +02:00
.github Delete ISSUE_TEMPLATE.md 2019-09-04 15:29:49 -03:00
core Merge pull request #38952 from bruvzg/win_ink_block_mm_3 2020-05-22 14:34:29 +02:00
doc Merge pull request #38984 from Calinou/bakedlightmap-configuration-warning 2020-05-25 11:28:16 +02:00
drivers GLES2 Batching - Builtins prevent baking in unshaded shaders 2020-05-23 11:35:33 +01:00
editor Keep "lock" metadata when changing a Node's type, if applicable 2020-05-20 11:43:49 +02:00
main [3.2] Block WM_MOUSEMOVE during Windows Ink pen handling. 2020-05-22 14:05:53 +03:00
misc SCons: Improve registration of compilation_db tool, check version 2020-05-18 16:40:33 +02:00
modules gdscript_parser: Fix "unreachable code" false positive for loops 2020-05-25 16:31:07 +02:00
platform Fix JS audioContext parameters. 2020-05-25 15:53:18 +02:00
scene Fix resource preview in remote inspector 2020-05-25 11:46:51 +02:00
servers Move mixrate and latency definition to AudioServer 2020-05-18 16:40:33 +02:00
thirdparty FastLZ: Update to upstream version 0.5.0 2020-05-25 11:46:03 +02:00
.appveyor.yml Enable Appveyor error on warnings. 2020-05-21 11:28:01 +01:00
.clang-format clang-format: Add JavaImportGroups for Java code 2020-05-07 13:36:27 +02:00
.editorconfig Re-architecture of the Godot Android plugin. 2020-03-09 10:30:02 +01:00
.gitattributes Git: Explicitly list binary files as such to avoid EOL change 2019-05-25 10:43:48 +02:00
.gitignore Add `custom.py` to .gitignore 2020-05-18 16:40:33 +02:00
.mailmap Update AUTHORS and DONORS list 2020-04-17 13:41:43 +02:00
.travis.yml Travis: Force updating homebrew on macOS 2020-02-21 09:43:23 +01:00
AUTHORS.md Update AUTHORS and DONORS list 2020-04-17 13:41:43 +02:00
CHANGELOG.md Changelog: Mention 3.2 changes to TileMap features 2020-02-06 13:02:08 +01:00
CODE_OF_CONDUCT.md Add a link to the code of conduct in the repository 2019-12-22 18:05:24 +01:00
CONTRIBUTING.md Fix some URLs to use HTTPS when available 2020-01-29 02:48:10 +01:00
COPYRIGHT.txt FastLZ: Update to upstream version 0.5.0 2020-05-25 11:46:03 +02:00
DONORS.md Update DONORS list 2020-05-05 16:25:18 +02:00
LICENSE.txt Update copyright statements to 2020 2020-01-01 11:16:22 +01:00
LOGO_LICENSE.md
README.md Add Weblate badge to README.md 2019-07-06 00:22:31 -03:00
SConstruct SCons: Improve registration of compilation_db tool, check version 2020-05-18 16:40:33 +02:00
compat.py
gles_builders.py Remove trailing whitespace 2018-11-20 11:15:02 +01:00
icon.png Optimize images losslessly using `oxipng -o6 --strip all --zopfli` 2018-06-28 19:17:41 +02:00
icon.svg
logo.png Optimize images losslessly using `oxipng -o6 --strip all --zopfli` 2018-06-28 19:17:41 +02:00
logo.svg
methods.py Remove the dead function win32_spawn from methods.py. 2020-03-25 11:38:54 +01:00
platform_methods.py Fixed short circuiting on non-Windows platforms 2018-07-30 23:55:15 +02:00
version.py Set version to 3.2.2-beta 2020-04-16 11:07:56 +02:00

README.md

Godot Engine logo

Godot Engine

Homepage: https://godotengine.org

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, Mac OSX, Windows) as well as mobile (Android, iOS) and web-based (HTML5) platforms.

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 developers, the best way is to join the #godotengine 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 within the engine.

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 info.

Travis Build Status AppVeyor Build Status Code Triagers Badge Translate on Weblate