summaryrefslogtreecommitdiff
path: root/scene/main
AgeCommit message (Collapse)Author
2022-07-25Code quality: Fix header guards consistencyRémi Verschelde
Adds `header_guards.sh` bash script, used in CI to validate future changes. Can be run locally to fix invalid header guards.
2022-07-23Implement Vector4, Vector4i, Projectionreduz
Implement built-in classes Vector4, Vector4i and Projection. * Two versions of Vector4 (float and integer). * A Projection class, which is a 4x4 matrix specialized in projection types. These types have been requested for a long time, but given they were very corner case they were not added before. Because in Godot 4, reimplementing parts of the rendering engine is now possible, access to these types (heavily used by the rendering code) becomes a necessity. **Q**: Why Projection and not Matrix4? **A**: Godot does not use Matrix2, Matrix3, Matrix4x3, etc. naming convention because, within the engine, these types always have a *purpose*. As such, Godot names them: Transform2D, Transform3D or Basis. In this case, this 4x4 matrix is _always_ used as a _Projection_, hence the naming.
2022-07-20Fix `CanvasItem` not exiting its canvas group on canvas exitkleonc
2022-07-18Rename Control PRESET_WIDE to PRESET_FULL_RECTFireForge
2022-07-18Merge pull request #63083 from madmiraal/fix-56336Rémi Verschelde
2022-07-17Set initial SceneTree processes times to 0.0Marcel Admiraal
2022-07-17Adding Variable Rate Shading support to GodotBastiaan Olij
Improve GI renderer and add VRS support Implement render device has_feature and move subgroup settings to limit_get
2022-07-15Use BitField hint for the TextServer enums. Add missing parts for BitField ↵bruvzg
support to the GDextension API.
2022-07-13Rename soft shadow quality project settings for easier searchingHugo Locurcio
`rendering/quality/shadows` is now `rendering/quality/positional_shadow` to explicitly denote that the settings only affect positional light shadows, not directional light shadows. Shadow atlas settings now contain the word "atlas" for easier searching. Soft shadow quality settings were renamed to contain the word "filter". This makes the settings appear when searching for "filter" in the project settings dialog, like in Godot 3.x.
2022-07-06Refactor Font configuration and import UI, and Font resources.bruvzg
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.