summaryrefslogtreecommitdiff
path: root/main
AgeCommit message (Collapse)Author
2021-11-01Fix new projects always being created with OpenGLHugo Locurcio
Only Vulkan is fully implemented for now, so OpenGL isn't available in the project manager yet. This also makes the rendering driver checks use lowercase names everywhere for consistency.
2021-11-01[macOS] Add `create_instance` function to spawn editor copies.bruvzg
[macOS] Modify `create_project` function to detect and run app bundles using NSWorkspace to ensure app window is registered and activated correctly.
2021-10-31Use OpenGL 3.3 core profile instead of compatibility profileClay John
- Rename OpenGL to GLES3 in the source code per community feedback. - The renderer is still exposed as "OpenGL 3" to the user. - Hide renderer selection dropdown until OpenGL support is more mature. - The renderer can still be changed in the Project Settings or using the `--rendering-driver opengl` command line argument. - Remove commented out exporter code. - Remove some OpenGL/DisplayServer-related debugging prints.
2021-10-30Rename GLES2 driver to OpenGL to prepare for the upgrade to GLES3Hugo Locurcio
- Use lowercase driver names for the `--rendering-driver` command line argument.
2021-10-30Add GLES2 2D renderer + Linux display managerlawnjelly
First implementation with Linux display manager. - Add single-threaded mode for EditorResourcePreview (needed for OpenGL). Co-authored-by: clayjohn <claynjohn@gmail.com> Co-authored-by: Fabio Alessandrelli <fabio.alessandrelli@gmail.com>
2021-10-28clang-format: Various fixes to comments alignment from `clang-format` 13Rémi Verschelde
All reviewed manually and occasionally rewritten to avoid bad auto formatting.
2021-10-28clang-format: Disable alignment of operands, too unreliableRémi Verschelde
Sets `AlignOperands` to `DontAlign`. `clang-format` developers seem to mostly care about space-based indentation and every other version of clang-format breaks the bad mismatch of tabs and spaces that it seems to use for operand alignment. So it's better without, so that it respects our two-tabs `ContinuationIndentWidth`.
2021-10-21Fix exit code for --script --check-only, fixes #54087Pawel Lampe
this commit makes godot executable to return zero exit code once a valid script is passed via --script during --check-only
2021-10-21Main: Fixup --dump-extension-api after #54017Rémi Verschelde
That removal was correct, but triggered a bug in our messy-as-heck main.cpp detection logic for editor/project manager/project/command line tool... Fixing this is for another day.
2021-10-20Merge pull request #50680 from Calinou/project-default-single-window-modeRémi Verschelde
2021-10-20doctool: Fix differences between headless and Vulkan rendering backendsRémi Verschelde
Fixes #53913.
2021-10-20Main: Add documentation for `--dump-extension-api`Rémi Verschelde
2021-10-17Rework XR positional trackersBastiaan Olij
2021-10-12Fix some LGTM errors of "Multiplication result converted to larger type"Aaron Franke
2021-10-01Implement TextServer GDExtension interface, remove TextServer GDNative ↵bruvzg
interface.
2021-09-30Merge pull request #48685 from bruvzg/bundle_icon_4Rémi Verschelde
2021-09-28Improve unregistering XR interfaces so we don't get crashes in GDExtensions ↵Bastiaan Olij
by destroying the XRServer too early
2021-09-20Display an alert when attempting to run a project with no main sceneHugo Locurcio
This gives visual feedback when not starting Godot from a terminal. This could lead to confusion when placing a Godot binary within a project folder that has no main scene defined.
2021-09-20Add remaning code edit unit testsPaulb23
2021-09-15--single-window is passed through project manager.Jacob Edie
This means you can start godot with --single-window
2021-09-15Merge pull request #52562 from BastiaanOlij/gd_extensions_register_driversRémi Verschelde
Add driver types to GD extension initialisation levels
2021-09-14Merge pull request #52226 from Faless/debugger/4.x_start_optionsRémi Verschelde
2021-09-13Merge pull request #50375 from Paulb23/code_edit_unit_testsRémi Verschelde
2021-09-13Add driver types to GD extension initialisation levelsBastiaan Olij
2021-09-07Merge pull request #47391 from Calinou/platform-feature-tags-lowercaseJuan Linietsky
Make platform feature tag names lowercase
2021-09-01Allow unit testing SceneTree OjectsPaulb23
2021-08-31Fix negative delta argumentsManuel Moos
Three attack points, all after the regular calculations: 1. Prevent negative physics timestep counts. They could occur if physics_jtter_fix is changed at runtime. 2. idle_step is not allowed to go below 1/8th of the input step. That could happen on physics_jitter_fix changes or heavily fluctuating performance. 3. Prevent that the idle_step modification breaks the promise that Engine.get_physics_interpolation_fraction() is between 0 and 1 by doing more physics steps than the base system wants. Fixes #26887 Co-authored-by: Hugo Locurcio <hugo.locurcio@hugo.pro>
2021-08-31Make platform feature tag names lowercaseHugo Locurcio
Feature tag names are still case-sensitive, but this makes built-in feature tags more consistent. - `Windows` -> `windows` - `OSX` -> `osx` - `LinuxBSD` -> `linuxbsd` - `Android` -> `android` - `iOS` -> `ios` - `HTML5` -> `html5` - `JavaScript` -> `javascript` - `UWP` -> `uwp`
2021-08-29Rename String::is_rel_path to String::is_relative_pathWilson E. Alvarez
2021-08-29[Editor] Add "--debug-server <uri>" option.Fabio Alessandrelli
Allow starting the editor debugger server for the given protocol (and optionally bound to the given ip/port combination: godot -e --debug-server tcp://*:8080
2021-08-26Use OrderedHashMap for autoloads to preserve orderLyuma
2021-08-23Merge pull request #51947 from AnilBK/redundant-assignmentsMichael Alexsander
[cppcheck] Remove some redundant assignments.
2021-08-22Merge pull request #37260 from Calinou/define-minimum-window-sizeHugo Locurcio
Define a default minimum window size to workaround rendering issues
2021-08-22Merge pull request #36872 from Calinou/default-stretch-aspect-expandHugo Locurcio
Use the `keep` stretch aspect by default
2021-08-22Define a default minimum window size to workaround rendering issuesHugo Locurcio
The minimum window size can still be set to `Vector2(0, 0)` in a script if needed. This closes #37242.
2021-08-21Remove redundant assignments.Anilforextra
Use used_in_transfer instead of used_in_compute twice.
2021-08-13Add project setting for agile input event flushingPedro J. Estébanez
If enabled, key/touch/joystick events will be flushed just before every idle and physics frame. Enabling this can greatly improve the responsiveness to input, specially in devices that need to run multiple physics frames per each idle frame, because of not being powerful enough to run at the target frame rate. This will only work for platforms using input buffering (regardless event accumulation). Currenly, only Android does so, but could be implemented for iOS in an upcoming PR.
2021-08-13Add input buffering frameworkPedro J. Estébanez
Input buffering is implicitly used by event accumulation, but this commit makes it more generic so it can be enabled for other uses. For desktop OSs it's currently not feasible given main and UI threads are the same).
2021-08-11Merge pull request #51486 from reduz/fixes-to-mobile-rendererRémi Verschelde
Fixes and optimizations to mobile renderer
2021-08-10Fixes and optimizations to mobile rendererreduz
* Only apply final actions to attachments used in the last pass. * Fixes to draw list final action (was using continue instead of read/drop). * Profiling regions inside draw lists now properly throw errors. * Ability to enable gpu profile printing from project settings. (used to debug).
2021-08-11Rename `iterations_per_second` to `physics_ticks_per_second`Hugo Locurcio
This makes it clearer that this property is only about physics FPS, not rendering FPS. The `physics_fps` project setting was also renamed to `physics_ticks_per_second` for consistency.
2021-08-03[Headless] Add --headless switch (no rendering, no audio).Fabio Alessandrelli
Also remove now unused "--no-window" option, and relative OS getter and setter.
2021-07-31Print a warning when the engine is started as `root`/superuserHugo Locurcio
This is a security risk (especially when hosting a game server) and can make audio non-functional on Linux.
2021-07-26Use doubles for time everywhere in Timer/SceneTreeAaron Franke
2021-07-24Merge pull request #50786 from reduz/implement-resource-uidsRémi Verschelde
Implement Resource UIDs
2021-07-24Implement Resource UIDsreduz
* Most resource types now have unique identifiers. * Applies to text, binary and imported resources. * File formats reference both by text and UID (when available). UID always has priority. * Resource UIDs are 64 bits for better compatibility with the engine. * Can be represented and used textually, example `uuid://dapwmgsmnl28u`. * A special binary cache file is used and exported, containing the mappings. Example of how it looks: ```GDScript [gd_scene load_steps=2 format=3 uid="uid://dw86wq31afig2"] [ext_resource type="PackedScene" uid="uid://bt36ojelx8q6c" path="res://subscene.scn" id="1_t56hs"] ``` GDScript, shaders and other special resource files can't currently provide UIDs, but this should be doable with special keywords on the files. This will be reserved for future PRs.
2021-07-23Use C++ iterators for Lists in many situationsAaron Franke
2021-07-22Move `alert` function from `DisplayServer` to `OS`.bruvzg
2021-07-21Enable single-window mode by default in projectsHugo Locurcio
There are many issues with using multiple windows by default: - Taking screenshots of a specific window will not capture subwindows. This also applies when recording a video using tools such as OBS. - Subwindows may not behave correctly when fullscreen mode is enabled, especially if exclusive fullscreen is implemented in the future to decrease input lag on Windows. "Subwindows" is quite general here, and also refers to dropdown menus (e.g. those spawned by OptionButton) and Control tooltips. Therefore, it's safer to embed subwindows by default in projects. Multi-window mode remains the default in the editor.
2021-07-20Adds ability to debug stringnamesreduz
* References (which include hash tables) can be profiled with --debug-stringnames