| Commit message (Collapse) | Author | Age | Files | Lines |
|\ |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| | |
Allow handling events, that were not used during physics picking.
(cherry picked from commit d14035edccae40020226f3dced26969647e73a15)
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Credits:
Co-authored-by: Skogi <skogi.b@gmail.com>
Co-authored-by: Spartan322 <Megacake1234@gmail.com>
Co-authored-by: swashberry <swashdev@pm.me>
Co-authored-by: Christoffer Sundbom <christoffer_karlsson@live.se>
Co-authored-by: Dubhghlas McLaughlin <103212704+mcdubhghlas@users.noreply.github.com>
Co-authored-by: McDubh <103212704+mcdubhghlas@users.noreply.github.com>
Co-authored-by: Dubhghlas McLaughlin <103212704+mcdubhghlas@users.noreply.github.com>
Co-authored-by: radenthefolf <radenthefolf@gmail.com>
Co-authored-by: John Knight <80524176+Tekisasu-JohnK@users.noreply.github.com>
Co-authored-by: Adam Vondersaar <adam.vondersaar@uphold.com>
Co-authored-by: decryptedchaos <nixgod@gmail.com>
Co-authored-by: zaftnotameni <122100803+zaftnotameni@users.noreply.github.com>
Co-authored-by: Aaron Benjamin <lifeartstudios@gmail.com>
Co-authored-by: wesam <108880473+wesamdev@users.noreply.github.com>
Co-authored-by: Mister Puma <MisterPuma80@gmail.com>
Co-authored-by: Aaron Benjamin <lifeartstudios@gmail.com>
Co-authored-by: SingleError <isaaconeoneone@gmail.com>
Co-authored-by: Bioblaze Payne <BioblazePayne@gmail.com>
|
|
|
|
|
|
|
| |
Adds 3D fixed timestep interpolation to the rendering server.
This does not yet include support for multimeshes or particles.
Co-authored-by: lawnjelly <lawnjelly@gmail.com>
|
| |
|
| |
|
|
|
|
|
|
|
| |
Adds fixed timestep interpolation to the rendering server (2D only).
Switchable on and off with a project setting (default is off).
Co-authored-by: lawnjelly <lawnjelly@gmail.com>
|
| |
|
|\
| |
| |
| | |
Add SceneTree.get_node_count_in_group()
|
| | |
|
|\ \
| | |
| | |
| | | |
Reimplement scene change
|
| | | |
|
|/ /
| |
| |
| | |
SceneTree should be fully initialized before any tree operation with any node and finalized only after all nodes exited tree.
|
| |
| |
| |
| | |
Removes SceneTree debug avoidance hint.
|
|/
|
|
| |
Removes legacy navigation debug materials.
|
|\
| |
| |
| | |
Refactor Node Processing to allow Scene Multithreading
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* Node processing works on the concept of process groups.
* A node group can be inherited, run on main thread, or a sub-thread.
* Groups can be ordered.
* Process priority is now present for physics.
This is the first steps towards implementing https://github.com/godotengine/godot-proposals/issues/6424.
No threading or thread guards exist yet in most of the scene code other than Node. That will have to be added later.
|
|/
|
|
| |
Rework Navigation Avoidance.
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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".
|
| |
|
| |
|
|
|
|
| |
Addresses #65313
|
|\
| |
| |
| | |
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
|
| |
|
| |
|
| |
|
|
|
|
| |
Add Path2D/3D debug options.
|
|
|
|
|
| |
* Intended to replace RBSet in most cases.
* Optimized for iteration speed
|
|\
| |
| | |
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!
|
|
|
|
|
|
|
| |
This results in less surprising behavior out of the box.
Internal usages were modified to keep the existing behavior
identical there.
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
character input with Alt / Ctrl modifiers, after processing of shortcuts.
|
|
|
|
|
| |
This prevents the pitfall of UB when checking if they have been
assigned something valid by comparing to nullptr.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Type emit_signal exposed method return type
set UndoRedo add_do_method and add_undo_method exposed return void
Set TreeItem::_call_recursive_bind returns void
Set _rpc_bind and _rpc_id_bind returns void in Node
Set _call_group and _call_group_flags method returns void in SceneTree
Set godot-cpp-test CI flag to false
|
|
|
|
|
|
|
|
| |
* Very old macros from the time Godot was created.
* Limited arguments to 5 (then later changed to 8) in many places.
* They were replaced by C++11 Variadic Templates.
* Renamed methods that take argument pointers to have a "p" suffix. This was used in some places and not in others, so made it standard.
* Also added a dereference check for Variant*. Helped catch a couple of bugs.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Initial implementation of the MultiplayerReplicationInterface and its
default implementation (SceneReplicationInterface).
New MultiplayerSpawner node helps dealing with instantiation of scenes
on remote peers (e.g. clients).
It supports both custom spawns via a `_spawn_custom` virtual function,
and optional auto-spawn of known scenes via a TypedArray<PackedScenes>
property.
New MultiplayerSynchornizer helps synchronizing states between the local
and remote peers, supports both sync and spawn properties and is
configured via a `SceneReplicationConfig` resource.
It can also sync via path (i.e. without being spawned by a
MultiplayerSpawner if both peers has it in tree, but will not send the
spawn state in that case, only the sync one.
|
|
|
|
| |
Happy new year to the wonderful Godot community!
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Move multiplayer classes to "core/multiplayer" subdir.
Move the RPCConfig and enums (TransferMode, RPCMode) to a separate
file (multiplayer.h), and bind them to the global namespace.
Move the RPC handling code to its own class (RPCManager).
Renames "get_rpc_sender_id" to "get_remote_sender_id".
|
|
|
|
|
|
|
|
| |
* `_gui_input`, `_input`, `_unhandled_input` and `_unhandled_key_input` are now regular C++ virutal functions.
* Everything else converted to GDVIRTUAL
* BIND_VMETHOD is gone, always use the new syntax from now on.
Creating `_gui_input` method and using the binder to register events will no longer work, simply override the virtual function now.
|
|
|
|
| |
delta) time"
|
|
|
|
| |
time.
|