summaryrefslogtreecommitdiffstats
path: root/main
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #62556 from akien-mga/displayserver-no-headless-fallbackRémi Verschelde2022-07-021-7/+14
|\ | | | | DisplayServer: Don't fallback to headless
| * DisplayServer: Don't fallback to headlessRémi Verschelde2022-07-011-7/+14
| | | | | | | | | | | | | | | | | | | | Unless users requested the headless driver specifically, they expect to either see a window, or that the process terminates if there's an error. Currently it would fallback to headless so they'd unexpectedly get a valid headless instance if their DisplayServer failed initializing (e.g. missing Vulkan support). Fixes #58414.
* | Fix exit code of --help and --version, and test them in CIJan Haller2022-07-021-2/+2
|/ | | | Corrects prior regression which caused ERROR output and exit code of 1.
* Command line arguments '--version' and '--help' return exit code 0 instead ↵Jan Haller2022-06-301-1/+6
| | | | | | of 255 Allows to detect whether those commands executed successfully, which makes integration with shell scripts/CI/bindings straightforward.
* Merge pull request #62084 from smix8/path_debug_options_4.xRémi Verschelde2022-06-291-0/+7
|\ | | | | Add Path2D/3D debug options
| * Add Path2D/3D debug optionssmix82022-06-201-0/+7
| | | | | | | | Add Path2D/3D debug options.
* | Implement Running Godot as Movie Writerreduz2022-06-211-1/+54
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Allows running the game in "movie writer" mode. * It ensures entirely stable framerate, so your run can be saved stable and with proper sound (which is impossible if your CPU/GPU can't sustain doing this in real-time). * If disabling vsync, it can save movies faster than the game is run, but if you want to control the interaction it can get difficult. * Implements a simple, default MJPEG writer. This new features has two main use cases, which have high demand: * Saving game videos in high quality and ensuring the frame rate is *completely* stable, always. * Using Godot as a tool to make movies and animations (which is ideal if you want interaction, or creating them procedurally. No other software is as good for this). **Note**: This feature **IS NOT** for capturing real-time footage. Use something like OBS, SimpleScreenRecorder or FRAPS to achieve that, as they do a much better job at intercepting the compositor than Godot can probably do using Vulkan or OpenGL natively. If your game runs near real-time when capturing, you can still use this feature but it will play no sound (sound will be saved directly). Usage: $ godot --write-movie movie.avi [scene_file.tscn] Missing: * Options for configuring video writing via GLOBAL_DEF * UI Menu for launching with this mode from the editor. * Add to list of command line options. * Add a feature tag to override configurations when movie writing (fantastic for saving videos with highest quality settings).
* | Merge pull request #61951 from Calinou/ios-touch-delay-add-property-hintRémi Verschelde2022-06-161-1/+5
|\ \
| * | Add a property hint for the iOS touch delay project settingHugo Locurcio2022-06-121-1/+5
| | |
* | | Merge pull request #61908 from ↵Rémi Verschelde2022-06-161-1/+3
|\ \ \ | |_|/ |/| | | | | Calinou/crash-handler-message-tweak-exported-project
| * | Tweak default crash handler message in exported projectsHugo Locurcio2022-06-101-1/+3
| |/ | | | | | | | | | | | | | | | | | | When an exported project crashes, the crash handler message shouldn't reference the Godot issue tracker, as not all crashes are Godot's fault. Reporting crashes that only occur on exported projects is still allowed, but it should not be done by people who aren't working on the project in question.
* | Add Godot 3.x -> Godot 4.x project converterRafał Mikrut2022-06-151-0/+29
| |
* | Mark some common project settings as basicHugo Locurcio2022-06-121-11/+11
|/
* Change Server initialization orderreduz2022-06-011-7/+3
| | | | | | * Registration of server classes happened after Display initialization. * This made no sense in practice and avoided the registration of custom server drivers (like custom XR server, custom Rendering server, custom XR server). * Initialization moved to _before_ Display.
* Add a new HashSet templatereduz2022-05-201-1/+1
| | | | | * Intended to replace RBSet in most cases. * Optimized for iteration speed
* Use range iterators for RBSet in most casesAaron Record2022-05-191-4/+4
|
* Hide the first `--print-fps` outputs after the engine has startedHugo Locurcio2022-05-172-5/+12
| | | | | The first 2 or 3 prints are inaccurate since the engine has just started at that point.
* Rename `--vk-layers` command line argument to `--gpu-validation`Hugo Locurcio2022-05-161-3/+3
| | | | | The new name is independent of the graphics API in use. This prepares Godot for implementations of graphics APIs other than Vulkan.
* Merge pull request #60986 from fire-forge/capitalismRémi Verschelde2022-05-161-1/+1
|\
| * Capitalize/fix some property enum hintsFireForge2022-05-121-1/+1
| |
* | Replace most uses of Map by HashMapreduz2022-05-161-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | * Map is unnecessary and inefficient in almost every case. * Replaced by the new HashMap. * Renamed Map to RBMap and Set to RBSet for cases that still make sense (order matters) but use is discouraged. There were very few cases where replacing by HashMap was undesired because keeping the key order was intended. I tried to keep those (as RBMap) as much as possible, but might have missed some. Review appreciated!
* | Merge pull request #60894 from derammo/derammo_opengl3_windowsRémi Verschelde2022-05-131-2/+24
|\ \ | |/ |/|
| * opengl3 driver now works on windows including multi windowderammo2022-05-111-2/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | fixed and simplified gl_manager_windows swap buffers now called for all windows fixed missing pixel format setting in additional windows this makes them work in OpenGL contexts changed verbose error printing to write once this error message happens very frequently while opengl3 is not finished removed dead code no longer needed after changes fixed comments that were misinformation window messages during window creation now handled these were previously discarded messages now tunnel the required context changed failure to create opengl3 window on windows to be more fatal marked a problem with pen code conditional compilation of vulkan and opengl3 on windows fixed windows debug builds now show messages on debug console also rendering driver selection box now shows only compiled drivers marked some problematic code thanks to akien-mga for patiently rewriting my style mistakes
* | Move Display settings higher in the listkobewi2022-05-121-29/+0
| |
* | Add a new HashMap implementationreduz2022-05-123-9/+9
|/ | | | | | | | | | | | | | | | | Adds a new, cleaned up, HashMap implementation. * Uses Robin Hood Hashing (https://en.wikipedia.org/wiki/Hash_table#Robin_Hood_hashing). * Keeps elements in a double linked list for simpler, ordered, iteration. * Allows keeping iterators for later use in removal (Unlike Map<>, it does not do much for performance vs keeping the key, but helps replace old code). * Uses a more modern C++ iterator API, deprecates the old one. * Supports custom allocator (in case there is a wish to use a paged one). This class aims to unify all the associative template usage and replace it by this one: * Map<> (whereas key order does not matter, which is 99% of cases) * HashMap<> * OrderedHashMap<> * OAHashMap<>
* Merge pull request #58258 from Calinou/editor-doctool-auto-headlessRémi Verschelde2022-05-061-0/+5
|\ | | | | Make `--doctool` imply `--headless` to speed up class reference generation
| * Make `--doctool` imply `--headless` to speed up class reference generationHugo Locurcio2022-02-171-0/+5
| | | | | | | | | | This also prevents spawning an unnecessary splash screen window while the class reference is generated.
* | Merge pull request #60723 from reduz/refactor-module-initializationRémi Verschelde2022-05-041-11/+38
|\ \
| * | Refactor module initializationreduz2022-05-041-11/+38
| | | | | | | | | | | | | | | | | | | | | * Changed to use the same stages as extensions. * Makes the initialization more coherent, helping solve problems due to lack of stages. * Makes it easier to port between module and extension. * removed the DRIVER initialization level (no longer needed).
* | | Remove `RES` and `REF` typedefs in favor of spelled out `Ref<>`Hugo Locurcio2022-05-031-1/+1
|/ / | | | | | | | | | | These typedefs don't save much typing compared to the full `Ref<Resource>` and `Ref<RefCounted>`, yet they sometimes introduce confusion among new contributors.
* | Rename variable names for some singletonsAaron Franke2022-04-261-25/+25
| |
* | Make FileAccess and DirAccess classes reference counted.bruvzg2022-04-111-7/+7
| |
* | Fix some issues found by cppcheck.bruvzg2022-04-061-2/+0
| |
* | Improve autoload inheritance error messageJason Yundt2022-04-041-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Autoloaded scripts should always inherit from Node. When you run a project that tries to autoload a script which doesn’t inherit from Node, then Godot gives an error. Before this change, the error said “Script does not inherit a Node”. That error message is a little bit misleading. If a class inherits a Node, then one of its superclasses has a Node. If a class inherits _from_ Node, then one of its superclasses is Node. This change corrects that mistake. Fixes #59884.
* | Add action map editor for OpenXRBastiaan Olij2022-04-041-2/+2
| |
* | Move OpenXR project settings to the main, to make them visible on ↵bruvzg2022-03-291-0/+22
| | | | | | | | unsupported platforms.
* | Android port of the Godot EditorFredy Huya-Kouadio2022-03-281-1/+2
| | | | | | | | | | | | | | These set of changes focus primarily on getting the core logic and overall Godot Editor UI and functionality up and running natively on Android devices. UI tweaks / cleanup / polish, as well configuration for Android specific functionality / restrictions will be addressed in follow-up PRs iteratively based on feedback. Co-authored-by: thebestnom <shoval.arad@gmail.com>
* | Merge pull request #58233 from bruvzg/gde_tsRémi Verschelde2022-03-181-3/+34
|\ \
| * | Unify TextServer built-in module and GDExtension code.bruvzg2022-03-171-3/+34
| | |
* | | Rename Project setting display/window/stretch/shrink to scaleMarkus Sauermann2022-03-171-3/+3
|/ /
* | Merge pull request #59153 from Calinou/debug-stringnames-improveRémi Verschelde2022-03-151-0/+1
|\ \ | | | | | | Improve `--debug-stringnames` to be more useful
| * | Improve `--debug-stringnames` to be more usefulHugo Locurcio2022-03-151-0/+1
| | | | | | | | | | | | | | | | | | | | | - Print all StringNames, not just the top 100. - Print statistics at the end of the list of StringNames, with unreferenced and rarely referenced StringNames. - List the CLI argument in `--help` and shell completion.
* | | Make `-q` CLI argument toggle quiet stdout instead of quittingHugo Locurcio2022-03-131-4/+4
|/ / | | | | | | | | | | `-q` is a common toggle in a command line applications for quiet mode (see apt or dnf for examples). In contrast, `--quit` isn't needed as often.
* | Tweak the display order of CLI arguments in `--help` for consistencyHugo Locurcio2022-03-131-7/+5
| | | | | | | | | | | | | | | | `--profile-gpu` was renamed to `--gpu-profile` for consistency with `--gpu-abort`. This also updates the shell completion files to the latest `master` branch.
* | Cleanup embed subwindows getterskobewi2022-03-131-2/+2
| |
* | Convert uses of `DirAccess *` to `DirAccessRef` to prevent memleaksRémi Verschelde2022-03-111-8/+4
| | | | | | | | | | | | | | | | `DirAccess *` needs to be deleted manually, and this is often forgotten especially when doing early returns with `ERR_FAIL_COND`. `DirAccessRef` is deleted automatically when it goes out of scope. Co-authored-by: bruvzg <7645683+bruvzg@users.noreply.github.com>
* | Remove unused GDNative codeRémi Verschelde2022-03-091-14/+0
| | | | | | | | | | | | | | | | | | This has been superseded by GDExtension so this code is no longer useful nor usable. There's still some GDNative-related stuff in platform export code which needs to be adapted for GDExtension (e.g. to include GDExtension libraries in exports).
* | Reorder native extension types initialization, initializing editor lastGilles Roudière2022-02-281-7/+8
| |
* | Implementing OpenXR driverBastiaan Olij2022-02-232-0/+5
| |
* | Fix extension registration order.Paulo Poiati2022-02-201-2/+5
| |