summaryrefslogtreecommitdiff
path: root/main/main.cpp
AgeCommit message (Collapse)Author
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
2022-03-29Move OpenXR project settings to the main, to make them visible on ↵bruvzg
unsupported platforms.
2022-03-28Android port of the Godot EditorFredy Huya-Kouadio
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>
2022-03-18Merge pull request #58233 from bruvzg/gde_tsRémi Verschelde
2022-03-17Rename Project setting display/window/stretch/shrink to scaleMarkus Sauermann
2022-03-17Unify TextServer built-in module and GDExtension code.bruvzg
2022-03-15Merge pull request #59153 from Calinou/debug-stringnames-improveRémi Verschelde
Improve `--debug-stringnames` to be more useful
2022-03-15Improve `--debug-stringnames` to be more usefulHugo Locurcio
- 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.
2022-03-13Make `-q` CLI argument toggle quiet stdout instead of quittingHugo Locurcio
`-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.
2022-03-13Tweak the display order of CLI arguments in `--help` for consistencyHugo Locurcio
`--profile-gpu` was renamed to `--gpu-profile` for consistency with `--gpu-abort`. This also updates the shell completion files to the latest `master` branch.
2022-03-13Cleanup embed subwindows getterskobewi
2022-03-11Convert uses of `DirAccess *` to `DirAccessRef` to prevent memleaksRémi Verschelde
`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>
2022-03-09Remove unused GDNative codeRémi Verschelde
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).
2022-02-28Reorder native extension types initialization, initializing editor lastGilles Roudière
2022-02-23Implementing OpenXR driverBastiaan Olij
2022-02-20Fix extension registration order.Paulo Poiati
2022-02-18Revert "Fix extension registration order."Rémi Verschelde
This reverts commit 94ef200bab8feb5024b2c64ac14daa24e0c4cc55. This broke extension loading. Fixes #58273.
2022-02-17Make `--doctool` imply `--headless` to speed up class reference generationHugo Locurcio
This also prevents spawning an unnecessary splash screen window while the class reference is generated.
2022-02-16Fix extension registration order.Paulo Poiati
2022-02-15Editor: Cleanup some includes dependenciesRémi Verschelde
Removes some unnecessary includes from `editor_node.h`, and instead add those where they're used. Removes unnecessary `editor_node.h` includes in various editor classes. Renames `dynamicfont` to `dynamic_font` in a couple files. Misc cleanup while jumping through that rabbit hole.
2022-02-14Cleanup of preprocessor directives in main.cppTechnicalSoup
Remove redundant set of preprocessor directives and combine duplicate if statements.
2022-02-12Fix Project Manager crash on exit.bruvzg
Fix editor settings loading / saving by Project Manager.
2022-02-12Use EditorFileDialog instead of FileDialog in the project managerHendrik Brucker
2022-02-09Merge pull request #57715 from Faless/debugger/4.x_core_includes_and_serversRémi Verschelde
[Debugger] Move most profilers to ServersDebugger, fix core includes.
2022-02-09Core: Move generated `VERSION_HASH` to a `.cpp` fileRémi Verschelde
This lets us have its definition in `core/version.h` and avoid rebuilding a handful of files every time the commit hash changes.
2022-02-08Refactor some object type checking code with `cast_to`Rémi Verschelde
Less stringly typed logic, and less String allocations and comparisons.
2022-02-06[Debugger] Move most profilers to ServersDebugger.Fabio Alessandrelli
Also splits bandwidth/rpc profiler (RPCProfiler is now in SceneDebugger).
2022-02-03Merge pull request #57562 from AnilBK/string-add-containsRémi Verschelde
String: Add contains().
2022-02-04String: Add contains().Anilforextra
2022-02-03EditorProperty: Fix range hint parsing with optional stepRémi Verschelde
This could lead to have a step of 0 when parsing e.g. "1,10,is_greater".