Age | Commit message (Collapse) | Author |
|
Add SceneTree.unload_current_scene()
|
|
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.
|
|
Set main window min. size via Window object instead of DisplayServer to preserve it during window updates.
|
|
Add PropertyInfo overload for GLOBAL_DEF
|
|
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".
|
|
preserve it during window updates.
|
|
Calinou/viewport-transparent-background-rename-project-setting
Move transparent background project setting to a subsection
|
|
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.
|
|
Fix missing check if shortcut event is handled for Control-nodes
|
|
|
|
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.
|
|
|
|
Calinou/projectsettings-vrs-texture-allow-more-formats
Allow all lossless image formats to be used for VRS texture project setting
|
|
|
|
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.
|
|
`SceneTree` Fix storing removed nodes to be skipped by the group calls
|
|
Unify usage of GLOBAL/EDITOR_GET
|
|
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.
|
|
|
|
|
|
contexts. Also ensure that controls with no context are only triggered AFTER nodes which do have a context.
|
|
This allows recording videos with a transparent background without
having to create a script.
|
|
change warnings=all to use /W4.
|
|
Update mouse cursor shape after changes
|
|
Addresses #65313
|
|
This fixes some cases where the mouse cursor shape did not change automatically, but instead required a MouseMove to update.
|
|
Rename `change_scene()` and `change_scene_to()`
|
|
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.
|
|
- removes / replaces leftovers from old navigation debug code
- cleanes SceneTree and ProjectSettings from old navigation debug
|
|
|
|
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.
|
|
|
|
|
|
|
|
|
|
- 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.
|
|
Improve GI renderer and add VRS support
Implement render device has_feature and move subgroup settings to limit_get
|
|
`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.
|
|
This also adds `SNAME()` macros where relevant to improve performance.
|
|
Add Path2D/3D debug options
|
|
Add Path2D/3D debug options.
|
|
|
|
|
|
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.
|
|
Make `auto_accept_quit` and `quit_on_go_back` properties
|
|
|
|
* 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!
|
|
|
|
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<>
|
|
This results in less surprising behavior out of the box.
Internal usages were modified to keep the existing behavior
identical there.
|