summaryrefslogtreecommitdiff
path: root/scene/main
AgeCommit message (Collapse)Author
2022-07-01Add an underscore to internal group names as per engine policyHugo Locurcio
This also adds `SNAME()` macros where relevant to improve performance.
2022-06-29Merge pull request #62084 from smix8/path_debug_options_4.xRémi Verschelde
Add Path2D/3D debug options
2022-06-27Merge pull request #61587 from YuriSizov/control-fix-theme-owner-toplevelRémi Verschelde
Fix theme propagation for children of top level controls and windows
2022-06-27Merge pull request #61577 from YuriSizov/core-fix-events-for-moved-nodesRémi Verschelde
2022-06-23Fix editor-only visibility for lightsreduz
* Update visibility again for editor-only lights if owner changes. Fixes #26399, supersedes #52327
2022-06-20Merge pull request #62247 from Rindbee/fix-editor-hang-when-window-as-rootRémi Verschelde
2022-06-20Add Path2D/3D debug optionssmix8
Add Path2D/3D debug options.
2022-06-20Quickfix editor hangs when rooting a window with exclusive and transient ↵Rindbee
flags enabled
2022-06-20Node: Rename `child_exited_tree` to `child_exiting_tree`Rémi Verschelde
The name was confusing as this signal is emitted around the same time as `tree_exiting` and `NOTIFICATION_EXIT_TREE`, i.e. while the child node is still in tree. Fixes #59210.
2022-06-19Add explicit deferred flagsmarkdibarry
2022-06-17Fix previous min size affects _get_contents_minimum_size in AcceptDialogRindbee
2022-06-14Add Vector2/3 linking to more propertiesFireForge
- Camera2D.zoom - CanvasLayer.scale - ParallaxBackground.scroll_base_scale - ParallaxLayer.motion_scale - Polygon2D.texture_scale - BaseMaterial3D.uv1_scale - BaseMaterial3D.uv2_scale
2022-06-13Merge pull request #61974 from Calinou/project-settings-mark-as-basicRémi Verschelde
2022-06-13Single-window mode popups and edited scene windows fixes.bruvzg
Fix single-window mode popup not closing when OptionBox is clicked. Fix single-window mode submenus closing when parent menu item, that was used to open it is clicked (using same safe-area logic as platform specific code). Disallow windows that are part of an edited scene from being set as exclusive or popup to prevent it from locking up the editor.
2022-06-12Mark some common project settings as basicHugo Locurcio
2022-06-11Add suffixes to all nodes and resourcesFireForge
2022-06-09Remove TooltipPanel and TooltipLabelkobewi
2022-06-07Initial TAA implementationjfons
Initial TAA support based on the implementation in Spartan Engine. Motion vectors are correctly generated for camera and mesh movement, but there is no support for other things like particles or skeleton deformations.
2022-06-06Fix `Viewport.own_world_3d` documentationHaoyu Qiu
Also fixed the naming of the setter's parameter and made an `if` block straightforward.
2022-06-04Merge pull request #60830 from Ansraer/fix-2d-scaleRémi Verschelde
[4.x] Add viewport content scale
2022-06-01Fix theme propagation for children of top level controls and windowsYuri Sizov
2022-05-31Mark node groups as dirty for every children if parent is movedYuri Sizov
2022-05-20Add a new HashSet templatereduz
* Intended to replace RBSet in most cases. * Optimized for iteration speed
2022-05-20Merge pull request #61026 from timothyqiu/quit-propRémi Verschelde
Make `auto_accept_quit` and `quit_on_go_back` properties
2022-05-19Use suffixes for units in nodes and resourcesAaron Franke
2022-05-19Use range iterators for RBSet in most casesAaron Record
2022-05-18Merge pull request #61095 from BimDav/get_node_and_resourceRémi Verschelde
Fix a bug in get_node_and_resource when the property is set to null
2022-05-17Merge pull request #61088 from groud/keep_unhandled_events_on_passRémi Verschelde
2022-05-17Keep input event as unhandled if they go through a control set to ↵Gilles Roudière
MOUSE_FILTER_PASS
2022-05-16fix a bug in get_node_and_resourceBimDav
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-14Make auto_accept_quit and quit_on_go_back propertiesHaoyu Qiu
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-10Merge pull request #51591 from Calinou/call-group-default-immediateRémi Verschelde
Make `{call,set,notify}_group()` immediate by default
2022-05-06Add viewport content scaleAnsraer
2022-05-06Cleanup metadata usagekobewi
2022-05-05Make `{call,set,notify}_group()` immediate by defaultHugo Locurcio
This results in less surprising behavior out of the box. Internal usages were modified to keep the existing behavior identical there.
2022-05-03Implement missing Node & Resource placeholdersreduz
Implemented by request of @neikeq to advance in the GDExtension version of Mono. * If a Resource type is missing upon load, it will be remembered together with its data (Unless manually overriden). * If a Node type is missing upon load, it will be also be remembered together with its data (unless deleted). This feature makes working with GDExtension much easier, as it ensures that missing types no longer cause data loss.
2022-05-03Merge pull request #60627 from aaronfranke/rename-elementsRémi Verschelde
Rename Transform2D and Basis `elements` to `columns` and `rows` respectively
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-05-02Style: Partially apply clang-tidy's `cppcoreguidelines-pro-type-member-init`Rémi Verschelde
Didn't commit all the changes where it wants to initialize a struct with `{}`. Should be reviewed in a separate PR. Option `IgnoreArrays` enabled for now to be conservative, can be disabled to see if it proposes more useful changes. Also fixed manually a handful of other missing initializations / moved some from constructors.
2022-04-29Small improvements to get_first_node_in_group()kobewi
2022-04-29Rename Transform2D "elements" to "columns"Aaron Franke
2022-04-27Merge pull request #60331 from KoBeWi/tween_static()Rémi Verschelde
2022-04-27Merge pull request #58383 from bruvzg/no_inv_window_placementRémi Verschelde
2022-04-26[Net] Allow branch-specific MultiplayerAPIs.Fabio Alessandrelli
Removes custom_multiplayer from Node. MultiplayerAPI overrides are now set at SceneTree level, and apply to whole branches. Impact on performance when using only the default multiplayer or overriding it is minimal, the use of branches can likely be further optimized by caching nodes and relevant MultiplayerAPI IDs.
2022-04-26Merge pull request #60511 from akien-mga/readd-find_nodeRémi Verschelde
2022-04-25Merge pull request #60261 from fire-forge/theme-prop-renamesRémi Verschelde
2022-04-25Node: Re-add `find_node` as `find_child`, improve docsRémi Verschelde
The new name contrasts it better with `find_parent`, and makes it clear that it only matches child/descendant nodes. Also rename `find_nodes` to `find_children` accordingly.
2022-04-25Implement Scene Unique Nodesreduz
Implements https://github.com/godotengine/godot-proposals/issues/4096 * Nodes can be marked unique to the scene in the editor (or via code). * Unique nodes can be accessed via the **%** prefix at any point in the path. From that point in the path (depending on whether the scene of the path is), the unique node will be fetched. * Implementation is very optimal, as these nodes are cached.