summaryrefslogtreecommitdiff
path: root/main
AgeCommit message (Collapse)Author
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-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.
2020-07-20New GDScript tokenizer and parserGeorge Marques
Sometimes to fix something you have to break it first. This get GDScript mostly working with the new tokenizer and parser but a lot of things isn't working yet. It compiles and it's usable, and that should be enough for now. Don't worry: other huge commits will come after this.
2020-07-15Docs: Ignore OS specific values (constants, project settings, properties).bruvzg
2020-07-14Disable file logging for the project managerHugo Locurcio
Due to `user://` returning the current working directory when no project is open, this caused logs to be written to `$HOME` most of the time. This closes #40305.
2020-07-14Merge pull request #40354 from bruvzg/add_vulkan_init_messageRémi Verschelde
Display error popup instead of crashing if Vulkan init failed.
2020-07-13Commit other files changed by file_format.shAaron Franke
2020-07-13Add error messages if Vulkan init failed, prevent Vulkan context freeing ↵bruvzg
uninitialized device and instance.
2020-07-10Add override keywords.Marcel Admiraal
2020-07-10Merge pull request #40121 from Calinou/enable-file-loggingRémi Verschelde
Enable file logging by default on desktops to help with troubleshooting
2020-07-09Keep debug & verbose options after loading project from project managerPouleyKetchoupp
2020-07-08Enable file logging by default on desktops to help with troubleshootingHugo Locurcio
- Use the `.log` file extension (recognized on Windows out of the box) to better hint that generated files are logs. Some editors provide dedicated syntax highlighting for those files. - Use an underscore to separate the basename from the date and the date from the time in log filenames. This makes the filename easier to read. - Keep only 5 log files by default to decrease disk usage in case messages are spammed.
2020-07-06Add a map of autoloads to ProjectSettingsGeorge Marques
So places that need to look into it can use the list instead of parsing ProjectSettings details (like checking "*" in path for testing if it's singleton).
2020-07-05Fix string test code for MinGWAaron Franke
2020-07-04Merge pull request #40092 from hinlopen/remove-find-lastRémi Verschelde
Remove String::find_last (same as rfind)
2020-07-03Remove String::find_last (same as rfind)Stijn Hinlopen
2020-07-02Fix content scale mode, closes #37941Juan Linietsky
2020-07-01Merge pull request #38713 from aaronfranke/string-64bitRémi Verschelde
Make all String integer conversion methods be 64-bit
2020-07-01Merge pull request #36885 from Xrayez/doctool-err-msgRémi Verschelde
Fix doctool misleading error message
2020-06-30Move frame delaying functions from Main to OS.Fabio Alessandrelli
Will allow specific platforms to override it and avoid blocking on the main/GUI thread.
2020-06-29Added Custom Performance Monitor and feature to read intermediate values of ↵simpu
Monitor Custom monitors can be added/removed/checked using `Performance.add_custom_monitor`/`Performance.remove_custom_monitor`/`Performance.has_custom_monitor` The value can be viewed in the `Monitor` tab of Debugger. Text before `/` is used to categorize the custom monitor. `EditorPerformanceProfiler` class is created to separate logic from `ScriptEditorDebugger` User can click on the graph of monitors to read the value at that point. Graph includes intermediate base lines.
2020-06-25Style: Fix copyright headersRémi Verschelde
2020-06-24Merge pull request #36052 from Calinou/improve-low-processor-sleepRémi Verschelde
Improve the low processor mode sleep precision
2020-06-24Main::cleanup: Move MessageQueue deletion further down where it's saferRémi Verschelde
Partial revert of #15702 which triggered the issue. Fixes #39786.
2020-06-18Mono: Always define options in main.cpp to keep them in docsRémi Verschelde
Otherwise generating docs with non-Mono builds removes them, which is not so convenient for the documentation work.
2020-06-16Merge pull request #39541 from Ev1lbl0w/feature/disable-renderingRémi Verschelde
Expose disable_render_loop property to GDScript
2020-06-16Expose disable_render_loop property to GDScriptEv1lbl0w
2020-06-16Add a suffix to the window title when running from a debug buildHugo Locurcio
Since projects started from the editor or exported in debug mode run slower than those exported in release mode, this should be clearly presented to the user. This partially addresses #20219.
2020-06-15Merge pull request #39483 from AndreaCatania/eulerRémi Verschelde
Added more euler rotation orders support.
2020-06-15Improve the low processor mode sleep precisionHugo Locurcio
The Low Processor Usage Mode Sleep Usec setting is now used as a FPS limiter rather than a constant sleep duration. This will increase CPU/GPU usage slightly due to the higher effective FPS, but the increase in overall smoothness is worth it. If both Force Fps and Low Processor Usage Mode settings are enabled in the project settings, only the setting that causes the highest sleep duration will be retained. This closes #11030.
2020-06-15Main: Ensure existing of user data dir in `setup()`Rémi Verschelde
When it was in `setup2()`, it would arrive too late for the optional file logging feature. Fixes #32488.
2020-06-12- Added more euler rotation orders support.Andrea Catania
- Fixed floating point issue on the old one. - Fixed the equation on the get_euler_yxz function. - Added unit tests. This work has been kindly sponsored by IMVU.
2020-06-03Remove 32-bit String to_int methodAaron Franke
2020-05-29Merge pull request #39051 from Xrayez/geometry-splitRémi Verschelde
Split `Geometry` singleton into `Geometry2D` and `Geometry3D`
2020-05-27Split `Geometry` singleton into `Geometry2D` and `Geometry3D`Andrii Doroshenko (Xrayez)
Extra `_2d` suffixes are removed from 2D methods accoringly.
2020-05-26Merge pull request #28289 from aaronfranke/gridRémi Verschelde
Dynamic infinite 3D grid