summaryrefslogtreecommitdiff
path: root/main/main.cpp
AgeCommit message (Collapse)Author
2022-07-29Merge pull request #62601 from smix8/navigation_3d_debug_4.xRémi Verschelde
2022-07-29Add more detailed Navigation Debug Visualizationsmix8
- Adds more customization options to ProjectSettings. - Displays navregion edge connections and navigation polygon edges in editor and at runtime. - Majority of debug code moved from SceneTree to NavigationServer. - Removes the irritating debug MeshInstance child node from NavigationRegion3D and replaces it with direct RenderingServer API.
2022-07-28Rename RenderingServer global shader uniform methods to be more explicitHugo Locurcio
The `global_shader_uniform` name is longer, but it makes it much easier to find the methods when searching in the class reference.
2022-07-28Add startup flag to override XR mode settingsBastiaan Olij
2022-07-28Merge pull request #62414 from Calinou/movie-maker-add-quit-on-endRémi Verschelde
2022-07-27Allow setting a window stretch scale below 1.0Aaron Franke
2022-07-27Add a Movie Quit On Finish property to AnimationPlayerHugo Locurcio
This quits the project when an animation is done playing in the given AnimationPlayer, but only in Movie Maker mode. When this happens, a message is printed with the absolute path of the AnimationPlayer node that caused the engine to quit. This can be used to create videos that stop at a specified time without having to write any script. A report is now also printed to the console when the video is done recording (as long as the engine was exited properly). This report is unfortunately not always visible in the editor's Output panel, as it's printed too late. A method was also added to get the path to the output file from the scripting API.
2022-07-24Mark some editor settings as requiring editor restartPedro J. Estébanez
2022-07-22Implement a Worker ThreadPoolreduz
This PR implements a worked thread pool. It uses a fixed amount of threads in a pool and allows scheduling tasks that can be run on threads (and then waited for). It satisfies the following use cases: * HTML5 thread count is fixed (and similar restrictions are known in consoles) so we need to reuse threads. * Thread spawning is slow in general, so reusing threads is faster anyway. * This implementation supports recursive waiting for tasks, making it less prone to deadlocks if threads from the pool also run tasks. After this is approved and merged, subsequent PRs will be needed to replace the ThreadWorkPool usage by this class.
2022-07-22Merge pull request #63286 from RandomShaper/fix_debugger_focusRémi Verschelde
2022-07-21Fix editor re-focus on debugger break on WindowsPedro J. Estébanez
2022-07-21Rename OSX to macOS and iPhoneOS to iOS.bruvzg
2022-07-19Abort running if --path does not existkobewi
2022-07-12Merge pull request #41833 from dalexeev/splash_delayYuri Sizov
Add boot splash minimum display time setting
2022-07-07[macOS] Improve file association handling, and allow URL schema handling.bruvzg
2022-07-02Merge pull request #62556 from akien-mga/displayserver-no-headless-fallbackRémi Verschelde
DisplayServer: Don't fallback to headless
2022-07-02Fix exit code of --help and --version, and test them in CIJan Haller
Corrects prior regression which caused ERROR output and exit code of 1.
2022-07-01DisplayServer: Don't fallback to headlessRémi Verschelde
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.
2022-06-30Command line arguments '--version' and '--help' return exit code 0 instead ↵Jan Haller
of 255 Allows to detect whether those commands executed successfully, which makes integration with shell scripts/CI/bindings straightforward.
2022-06-29Merge pull request #62084 from smix8/path_debug_options_4.xRémi Verschelde
Add Path2D/3D debug options
2022-06-28Add boot splash display time settingDanil Alexeev
Implements #8867.
2022-06-21Implement Running Godot as Movie Writerreduz
* 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).
2022-06-20Add Path2D/3D debug optionssmix8
Add Path2D/3D debug options.
2022-06-16Merge pull request #61951 from Calinou/ios-touch-delay-add-property-hintRémi Verschelde
2022-06-16Merge pull request #61908 from ↵Rémi Verschelde
Calinou/crash-handler-message-tweak-exported-project
2022-06-15Add Godot 3.x -> Godot 4.x project converterRafał Mikrut
2022-06-12Mark some common project settings as basicHugo Locurcio
2022-06-12Add a property hint for the iOS touch delay project settingHugo Locurcio
2022-06-10Tweak default crash handler message in exported projectsHugo Locurcio
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.
2022-06-01Change Server initialization orderreduz
* 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.
2022-05-20Add a new HashSet templatereduz
* Intended to replace RBSet in most cases. * Optimized for iteration speed
2022-05-19Use range iterators for RBSet in most casesAaron Record
2022-05-17Hide the first `--print-fps` outputs after the engine has startedHugo Locurcio
The first 2 or 3 prints are inaccurate since the engine has just started at that point.
2022-05-16Rename `--vk-layers` command line argument to `--gpu-validation`Hugo Locurcio
The new name is independent of the graphics API in use. This prepares Godot for implementations of graphics APIs other than Vulkan.
2022-05-16Merge pull request #60986 from fire-forge/capitalismRémi Verschelde
2022-05-16Replace most uses of Map by HashMapreduz
* 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!
2022-05-13Merge pull request #60894 from derammo/derammo_opengl3_windowsRémi Verschelde
2022-05-12Capitalize/fix some property enum hintsFireForge
2022-05-12Move Display settings higher in the listkobewi
2022-05-12Add a new HashMap implementationreduz
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<>
2022-05-11opengl3 driver now works on windows including multi windowderammo
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
2022-05-06Merge pull request #58258 from Calinou/editor-doctool-auto-headlessRémi Verschelde
Make `--doctool` imply `--headless` to speed up class reference generation
2022-05-04Merge pull request #60723 from reduz/refactor-module-initializationRémi Verschelde
2022-05-04Refactor module initializationreduz
* 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).
2022-05-03Remove `RES` and `REF` typedefs in favor of spelled out `Ref<>`Hugo Locurcio
These typedefs don't save much typing compared to the full `Ref<Resource>` and `Ref<RefCounted>`, yet they sometimes introduce confusion among new contributors.
2022-04-26Rename variable names for some singletonsAaron Franke
2022-04-11Make FileAccess and DirAccess classes reference counted.bruvzg
2022-04-06Fix some issues found by cppcheck.bruvzg
2022-04-04Improve autoload inheritance error messageJason Yundt
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.
2022-04-04Add action map editor for OpenXRBastiaan Olij