summaryrefslogtreecommitdiff
path: root/main
AgeCommit message (Collapse)Author
2021-01-01Update copyright statements to 2021Rémi Verschelde
Happy new year to the wonderful Godot community! 2020 has been a tough year for most of us personally, but a good year for Godot development nonetheless with a huge amount of work done towards Godot 4.0 and great improvements backported to the long-lived 3.2 branch. We've had close to 400 contributors to engine code this year, authoring near 7,000 commit! (And that's only for the `master` branch and for the engine code, there's a lot more when counting docs, demos and other first-party repos.) Here's to a great year 2021 for all Godot users 🎆
2020-12-29Fix warning spam when using `--help` or `--version` command line argumentHugo Locurcio
When a project setting is not found, a warning message is printed. This moves the default value declaration so it can be found when the `--help` or `--version` command line arguments are used.
2020-12-22Rename MainLoop methods to match Node methodsMarcel Admiraal
2020-12-15Add a project setting to enable stdout flushing in release buildsHugo Locurcio
This can be used in server builds for journalctl compatibility.
2020-12-03Reorganize rendering server.reduz
-Made RenderingServerScene abstract, allowing reimplementation -RenderingServerRaster -> RenderingServerDefault, but this class is going away soon.
2020-12-02Refactor DocData into core and editor (DocTools) partsThakee Nathees
2020-11-26[Complex Text Layouts] Refactor Font class, default themes and controls to ↵bruvzg
use Text Server interface. Implement interface mirroring. Add TextLine and TextParagraph classes. Handle UTF-16 input on macOS and Windows.
2020-11-26[Complex Text Layouts] Implement TextServer interface. Implement Fallback ↵bruvzg
TextServer.
2020-11-19Merge pull request #43661 from EricEzaM/PR/INP2-rename_load_from_globalsRémi Verschelde
load_from_globals() -> load_from_project_settings()
2020-11-19load_from_globals() -> load_from_project_settings()Eric M
2020-11-18allow vulkan validation layers in release builds if explicity asked forJordan Schidlowsky
2020-11-17Fix CLI export when export_path is in preset.Fabio Alessandrelli
Export presets contains the export_path option, to specify the default export location, but the CLI export option disregarded that, and always required and export path to be specified. After this commit, if the export path is not specified in the command, the one in the preset will be used, erroring only if it's not present or invalid.
2020-11-16Remove empty lines around braces with the formatting scriptAaron Franke
2020-11-16Merge pull request #42167 from madmiraal/fix-42108Rémi Verschelde
Remove the unnecessary sync() and the restrictions it imposes on 3D Physics.
2020-11-10Merge pull request #43369 from Calinou/allow-svg-project-iconRémi Verschelde
Allow using SVG images as project icon
2020-11-07Reorganized core/ directory, it was too fatty alreadyreduz
-Removed FuncRef, since Callable makes it obsolete -Removed int_types.h as its obsolete in c++11+ -Changed color names code
2020-11-06Allow using SVG images as project iconHugo Locurcio
Since exporters will save their own icon, the target platforms don't have to support SVG to display the icon correctly. This closes #23068.
2020-11-06Refactored Variant Operators.reduz
-Using classes to call and a table -For typed code (GDS or GDNative), can obtain functions to call prevalidated or ptr.
2020-10-30Refactor pixel snapping.reduz
-Rename pixel_snap to snap_2d_to_vertices -Added snap_2d_to_transforms which is more useful Fixes #41814 Solves proposal https://github.com/godotengine/godot-proposals/issues/1666 Supersedes #35606, supersedes #41535, supersedes #41534
2020-10-28Merge pull request #42361 from akien-mga/vulkan-layers-opt-inRémi Verschelde
Vulkan: Make validation layers optional
2020-10-28Update AUTHORS and DONORS listRémi Verschelde
New corporate sponsors: Spiffcode (Platinum) ASIFA-Hollywood (Silver) Zenva Academy (Silver) Thanks to all contributors and donors for making Godot possible!
2020-10-27Vulkan: Make validation layers optionalRémi Verschelde
They're now disabled by default, and can be enabled with the command line argument `--vk-layers`. When enabled, the errors about them being missing are now warnings, as users were confused and thought this meant Vulkan is broken for them. Fix crash in `~VulkanContext` when validation layers are disabled (exposed by this PR since before they could not be disabled without source modification). Also moved VulkanContext member initializations to header. Fixes #37102.
2020-10-18Refactor MethodBind to use variadic templatesreduz
Removed make_binders and the old style generated binders.
2020-10-01iOS: move touch delay to settingsSergey Minakov
2020-09-24OS: Remove unused get_splash_tick_msecRémi Verschelde
It was added in 3e20391bf607dc7c452b056854aed4a8c99ba0f6 but it doesn't seem particularly useful, and it was only implemented for the custom splash branch and not the default one, so it could return an uninitialized int.
2020-09-23Ignore thread models when compiling with NO_THREADFabio Alessandrelli
The thread model option for physics (2D) and rendering (single-unsafe, single-safe, multithread), was causing crashes/locks when set as multithreaded and exported for a platform that does not support threads (namely HTML5). This commit ensures that when threads support is not available, that option is ignored, and the equivalent of "single-unsafe" is always used instead.
2020-09-18Remove the unnecessary sync() and the restrictions it imposes on 3D Physics.Marcel Admiraal
2020-09-16Donors: Add Gamblify, remove Interblock from splash screenRémi Verschelde
2020-09-10Remove unused Python imports.Marcel Admiraal
2020-09-03Merge pull request #41332 from bruvzg/win_subsys_optionRémi Verschelde
Revert #41164, add subsystem build option.
2020-09-02Merge pull request #41190 from Xrayez/main-loop-type-classRémi Verschelde
Accept global classes for `MainLoop` type in project settings
2020-08-21Fix new black style check failures in various files.Marcel Admiraal
2020-08-17Revert "[Windows] Attach to parent console instead of creating new one."bruvzg
This reverts commit 4f7a49db53c6aaabeca70fe8901144af708fb6b2.
2020-08-16Port ClassDB tests to use doctestAndrii Doroshenko (Xrayez)
Extracted the most minimal core initialization functionality from `setup()` and `setup2()` so that `ClassDB` could be tested properly (input, audio, rendering, physics etc, are excluded). Display and rendering servers/singletons are not initialized at all. Due to the fact that most subsystems are disabled, fixed various crashes in the process (in order): - `AcceptDialog` OK/cancel swap behavior (used `DisplayServer` while `register_scene_types()`); - `make_default_theme` which depends on `RenderingServer`; - `XRServer` singleton access while calling `register_modules_types()`; - hidden bug in a way joypads are cleaned up (MacOS and Linux only). Removed manual `ClassDB` init/cleanup calls from `test_validate_testing.h`. ClassDB tests: Co-authored-by: Ignacio Etcheverry <ignalfonsore@gmail.com>
2020-08-15Fix "on top" incorrectly set on init (all platforms).bruvzg
Fix "on top" reseting on window update. (macOS).
2020-08-13Remove obsolete GLES2 backend codeRémi Verschelde
This code currently isn't compiled (and cannot compile). We plan to re-add OpenGL ES-based renderer(s) in Godot 4.0 alongside Vulkan (probably ES 3.0, possibly also a low-end ES 2.0), but the code will be quite different so it's not relevant to keep this old Godot 3.2 code. The `drivers/gles2` code from the `3.2` branch can be used as a reference for a potential new implementation.
2020-08-11Accept global classes for `MainLoop` type in project settingsAndrii Doroshenko (Xrayez)
`application/run/main_loop_type` setting can handle custom global classes (`class_name`). For instance: `MySceneTree`. The setting's default is changed from empty to `SceneTree` as to give some hint of what kind of input is accepted for the main loop type.
2020-08-11Merge pull request #41164 from bruvzg/win_attach_consoleRémi Verschelde
[Windows] Attach to parent console instead of creating new one.
2020-08-11[Windows] Attach to parent console instead of creating new one.bruvzg
2020-08-08Properly detect `--test` command-line argumentAndrii Doroshenko (Xrayez)
Do not prematurely parse anything which beings with `--test` to run doctest. This allows other commands to be run, such as `--test-gdscript` or other custom arguments.
2020-07-29Cleanup obsolete tests from displaying in helpAndrii Doroshenko (Xrayez)
2020-07-27Make all String float conversion methods be 64-bitAaron Franke
2020-07-28SCons: Refactor running commands through buildersAndrii Doroshenko (Xrayez)
A new `env.Run` method is added which allows to control the verbosity of builders output automatically depending on whether the "verbose" option is set. It also allows to optionally run any SCons commands in a subprocess using the existing `run_in_subprocess` method, unifying the interface. `Action` objects wrap all builder functions to include a short build message associated with any action. Notably, this removes quite verbose output generated by `make_doc_header` and `make_editor_icons_action` builders.
2020-07-26SCons: Build tests/ and main/ in cloned environmentsRémi Verschelde
Allows switching `tests=yes`/`no` and rebuilding only tests and main, instead of the whole engine. Co-authored-by: Andrii Doroshenko (Xrayez) <xrayez@gmail.com>
2020-07-26Move `tests` to the top-level directoryAndrii Doroshenko (Xrayez)
2020-07-25Merge pull request #38900 from bruvzg/docs_ignore_os_spec_def_valsRémi Verschelde
Docs: Ignore OS specific values (constants, project settings, properties)
2020-07-25SCons: Add `tests` option to enable or disable unit testsAndrii Doroshenko (Xrayez)
2020-07-24fix crash on shutdownGordon MacPherson
2020-07-24Fix arguments always being found and returned some items back to normalGordon MacPherson
2020-07-24t Add unit testing to Godot using DocTest and added to GitHub Actions CIRevoluPowered
Implements exit codes into the engine so tests can return their statuses. Ideally we don't do this, and we use FIXUP logic to 'begin' and 'end' the engine execution for tests specifically. Since realistically we're initialising the engine here we don't want to do that, since String should not require an engine startup to test a single header. This lowers the complexity of running the unit tests and even for physics should be possible to implement such a fix.