summaryrefslogtreecommitdiff
path: root/scene/main/scene_tree.cpp
AgeCommit message (Collapse)Author
2023-01-15Fix change_scene memory leak due to duplicate instantiationRémi Verschelde
Regression from #71105. Fixes #71363.
2023-01-11Merge pull request #71105 from reduz/unload-current-sceneRémi Verschelde
Add SceneTree.unload_current_scene()
2023-01-10Add SceneTree.unload_current_scene()Juan Linietsky
Provides an obvious way to unload the currently loaded scene (which is nowhere to be found in the docs). The SceneTree.change_scene_to() method must now always provide a valid PackedScene. Fixes #63565.
2023-01-09Merge pull request #70863 from bruvzg/win_init_minRémi Verschelde
Set main window min. size via Window object instead of DisplayServer to preserve it during window updates.
2023-01-06Merge pull request #68429 from KoBeWi/PropertySettingsRémi Verschelde
Add PropertyInfo overload for GLOBAL_DEF
2023-01-05One Copyright Update to rule them allRémi Verschelde
As many open source projects have started doing it, we're removing the current year from the copyright notice, so that we don't need to bump it every year. It seems like only the first year of publication is technically relevant for copyright notices, and even that seems to be something that many companies stopped listing altogether (in a version controlled codebase, the commits are a much better source of date of publication than a hardcoded copyright statement). We also now list Godot Engine contributors first as we're collectively the current maintainers of the project, and we clarify that the "exclusive" copyright of the co-founders covers the timespan before opensourcing (their further contributions are included as part of Godot Engine contributors). Also fixed "cf." Frenchism - it's meant as "refer to / see".
2023-01-03Set main window min. size via Window object instead of DisplayServer to ↵bruvzg
preserve it during window updates.
2022-12-17Merge pull request #70202 from ↵Rémi Verschelde
Calinou/viewport-transparent-background-rename-project-setting Move transparent background project setting to a subsection
2022-12-17Move transparent background project setting to a subsectionHugo Locurcio
This prevents the project setting from being located directly within a root category, which is confusing from an UX perspective in the project settings editor.
2022-12-16Merge pull request #70075 from Sauermann/fix-missing-shortcut-handled-checkRémi Verschelde
Fix missing check if shortcut event is handled for Control-nodes
2022-12-15Fix possible Tween leak on exitHaoyu Qiu
2022-12-14Fix missing check if shortcut event is handled for Control-nodesMarkus Sauermann
Control-nodes without a shortcut-context were missing a check if the event was handled, so that a single shortcut-event was passed to multiple Control-nodes.
2022-12-11Add PropertyInfo overload for GLOBAL_DEFkobewi
2022-11-28Merge pull request #68836 from ↵Rémi Verschelde
Calinou/projectsettings-vrs-texture-allow-more-formats Allow all lossless image formats to be used for VRS texture project setting
2022-11-27Revert "`SceneTree` Fix storing removed nodes to be skipped by the group calls"Rémi Verschelde
2022-11-18Allow all lossless image formats to be used for VRS texture project settingHugo Locurcio
WebP can also be lossy, but the class reference now warns about the requirement to use a lossless format for the VRS texture to work correctly.
2022-11-14Merge pull request #67831 from kleonc/scene-tree-fix-storing-removed-nodesRémi Verschelde
`SceneTree` Fix storing removed nodes to be skipped by the group calls
2022-10-31Merge pull request #67578 from KoBeWi/GEDITORRémi Verschelde
Unify usage of GLOBAL/EDITOR_GET
2022-10-27Fix calling `_call_shortcut_input` on a node that has been removedRindbee
Nodes may have been deleted by shortcuts. For example, when switching scenes with `Ctrl` + `Tab` / `Ctrl` + `Shift` + `Tab`, some controls will be deleted and recreated.
2022-10-24`SceneTree` Fix storing removed nodes to be skipped by the group callskleonc
2022-10-18Unify usage of GLOBAL/EDITOR_GETkobewi
2022-10-13Move Shortcut Context to Control and ensure that `shortcut_input` adheres to ↵Eric M
contexts. Also ensure that controls with no context are only triggered AFTER nodes which do have a context.
2022-10-09Add a project setting to make the root viewport transparentHugo Locurcio
This allows recording videos with a transparent background without having to create a script.
2022-10-07Fix MSVC warnings, rename shadowed variables, fix uninitialized values, ↵bruvzg
change warnings=all to use /W4.
2022-09-28Merge pull request #58995 from Sauermann/fix-mouse-cursor-change-2Rémi Verschelde
Update mouse cursor shape after changes
2022-09-26Change time parameters and variables to double typeDave Palais
Addresses #65313
2022-09-18Update mouse cursor shape after changesMarkus Sauermann
This fixes some cases where the mouse cursor shape did not change automatically, but instead required a MouseMove to update.
2022-09-08Merge pull request #63596 from Jayman2000/issue-27640Rémi Verschelde
Rename `change_scene()` and `change_scene_to()`
2022-09-07Rename change_scene() and change_scene_to()Jason Yundt
Before this change, the SceneTree had methods named “change_scene” and “change_scene_to”. One of them accepted a String as a parameter and the other accepted a PackedScene, but you couldn’t tell which one was which just by looking at their names. This change renames those two methods to “change_scene_to_file” and “change_scene_to_packed”. These new names came from this suggestion [1]. These new names make the difference between the two methods more clear and hint at the fact that there’s more than one change_scene method. [1]: <https://github.com/godotengine/godot/issues/27640#issuecomment-1081870955> Fixes #27640.
2022-09-07Remove / Replace old Navigation Debug Visualizationsmix8
- removes / replaces leftovers from old navigation debug code - cleanes SceneTree and ProjectSettings from old navigation debug
2022-09-03Some improvements to the SceneTreeTimerXwdit
2022-08-31Implement Physical Light Units as an optional setting.clayjohn
This allows light sources to be specified in physical light units in addition to the regular energy multiplier. In order to avoid loss of precision at high values, brightness values are premultiplied by an exposure normalization value. In support of Physical Light Units this PR also renames CameraEffects to CameraAttributes.
2022-08-30Merge pull request #63003 from Geometror/msaa-2dRémi Verschelde
2022-08-29Rename String `plus_file` to `path_join`Aaron Franke
2022-08-23Replace Array return types with TypedArray 2kobewi
2022-08-13Implement MSAA for 2D [Vulkan only]Hendrik Brucker
2022-07-26[Net] Modularize multiplayer, expose MultiplayerAPI to extensions.Fabio Alessandrelli
- RPC configurations are now dictionaries. - Script.get_rpc_methods renamed to Script.get_rpc_config. - Node.rpc[_id] and Callable.rpc now return an Error. - Refactor MultiplayerAPI to allow extension. - New MultiplayerAPI.rpc method with Array argument (for scripts). - Move the default MultiplayerAPI implementation to a module.
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-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-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-20Add Path2D/3D debug optionssmix8
Add Path2D/3D debug options.
2022-06-19Add explicit deferred flagsmarkdibarry
2022-06-12Mark some common project settings as basicHugo Locurcio
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-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-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<>