1
0
Fork 0
Commit Graph

601 Commits

Author SHA1 Message Date
A Thousand Ships 203d3be200
[Core] Add way to check if a signal has any connections
Added to `Object` and `Signal`
2024-09-20 16:39:09 +02:00
Haoyu Qiu c5d147b9b5 Allow configuring which translation domain Object.tr uses 2024-09-17 13:09:44 +08:00
Rémi Verschelde 8ebfd89359
Merge pull request #96024 from Ryan-000/expose_get_rpc_config
Expose `get_rpc_config` and `get_node_rpc_config`
2024-09-16 13:34:34 +02:00
Ryan 8835f326b1 Expose get_rpc_config and get_node_rpc_config
add documentation

Update doc/classes/Node.xml

change name of get_node_rpc_config to get_rpc_config

Co-Authored-By: moondog <159832633+dog-on-moon@users.noreply.github.com>
Co-Authored-By: Micky <66727710+Mickeon@users.noreply.github.com>
2024-09-04 15:45:22 -04:00
Sébastien Dunne Fulmer 7563c3a4df
Avoid copying a signal with a Node if the target path is empty 2024-08-31 10:41:19 +01:00
rune-scape 154049ce17 StringName Dictionary keys
also added 'is_string()' method to Variant
and refactored many String type comparisons to use it instead
2024-08-29 13:39:27 -07:00
Rémi Verschelde 6d22b8026d
Merge pull request #90992 from RadiantUwU/fix_node_duplicate
Fix `Node.duplicate()` crash when duplicating a node that cannot be instantiated.
2024-08-19 14:33:31 +02:00
Radiant 70f41e414e Fix node.duplicate, return nullptr if this operation fails. 2024-08-02 16:26:19 +03:00
Ricardo Buring 2f8ab4a654 Fixed Timestep Interpolation (3D)
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>
2024-07-07 22:15:23 +02:00
Ricardo Buring ceadbaa299 Fixed Timestep Interpolation: Fix behaviour on pause
Co-authored-by: lawnjelly <lawnjelly@gmail.com>
2024-07-07 16:48:17 +02:00
kobewi bef2e62c88 Fix duplicating nodes with Array properties 2024-06-27 19:17:50 +02:00
Rémi Verschelde 0ec023f101
Merge pull request #92678 from warriormaster12/dup_prop_before_remap_resources
Duplicate properties first before remapping resources
2024-06-18 14:08:39 +02:00
Raul Santos 29bf60cc02
Use GDExtension `to_string` in Node
Matches the `Object::to_string` implementation.
2024-06-11 17:40:51 +02:00
warriormaster12 e4d0d1344b Duplicate properties first before remapping resources 2024-06-02 13:27:35 +03:00
kobewi 59f05ed31a Cleanup unused/underused singleton StringNames 2024-05-14 18:18:29 +02:00
kobewi 413c11357d Use Core/Scene stringnames consistently 2024-05-13 23:41:07 +02:00
A Thousand Ships 2f442ff21a
Fix outdated name for `script` `StringName` 2024-05-13 12:39:41 +02:00
Rémi Verschelde 3bb7fd8ac4
Merge pull request #91329 from warriormaster12/dont-do-things-twice
Fix a performance regression when duplicating a node
2024-05-13 12:05:34 +02:00
warriormaster12 f14455fd3d Fix a performance regression when duplicating a node 2024-05-12 21:43:22 +03:00
kobewi a262d2d881 Add shorthand for using singleton string names 2024-05-11 18:53:08 +02:00
kobewi 5c0f7968e3 Fix crash when adding a child while duplicating a node 2024-05-07 21:56:38 +02:00
A Thousand Ships 955d5affa8
Reduce and prevent unnecessary random-access to `List`
Random-access access to `List` when iterating is `O(n^2)` (`O(n)` when
accessing a single element)

* Removed subscript operator, in favor of a more explicit `get`
* Added conversion from `Iterator` to `ConstIterator`
* Remade existing operations into other solutions when applicable
2024-05-04 16:08:55 +02:00
kobewi 0b877a9962 Expose is_part_of_edited_scene() 2024-04-26 11:49:38 +02:00
ajreckof 248e5bfba2
Revert what needs to be reverted 2024-04-10 09:49:30 +08:00
Ricardo Buring e6b9161246 Fix per-node physics interpolation setting
The per-node default should be ON.
2024-04-05 10:30:19 +02:00
Rémi Verschelde f47f4a02c8
Merge pull request #89992 from ajreckof/fix-my-mistake-with-replace-in-update-scene
Fix node duplication in update after external changes.
2024-04-04 02:53:57 +02:00
ajreckof ae472865d0 fix node duplication in update after external changes. 2024-04-03 12:19:38 +02:00
Rémi Verschelde af08342fd8
Merge pull request #89957 from warriormaster12/regress-dup
Fix regression when duplicating a node with a resource attached
2024-03-28 10:47:39 +01:00
warriormaster12 9533543aa5 Fix duplicating resources regression 2024-03-27 11:51:29 +02:00
Rémi Verschelde 9d8697ab01
Merge pull request #89686 from kleonc/unique-node-names-check-owned-then-in-owner
Always look for unique node names in owner if not found in owned nodes
2024-03-24 01:21:28 +01:00
Rémi Verschelde 1d4907243e
Merge pull request #89628 from twobitadder/whoops_no_internals_pls
Fix crash on `reparent()` with Node containing internal children
2024-03-24 01:19:34 +01:00
Rémi Verschelde e92806c7e7
Merge pull request #88424 from rburing/fti_2d
Physics interpolation (2D)
2024-03-24 01:13:53 +01:00
Ricardo Buring 2ed2ccc2d8 Fixed Timestep Interpolation (2D)
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>
2024-03-23 12:28:36 +01:00
kleonc 95ced4bbdc Always look for unique node names in owner if not found in owned nodes 2024-03-19 22:13:10 +01:00
twobit b9bade8db1 fixes crash on nodes with internal children 2024-03-17 22:44:05 -04:00
warriormaster12 9851c1bdd8 Fix property duplication when duplicating a parent node 2024-03-17 09:57:38 +02:00
Rémi Verschelde c1377920cd
Merge pull request #86743 from Mickeon/autocompletion-optimise-object
Optimise comparisons for Object's `get_argument_options`
2024-03-01 14:56:06 +01:00
Micky cd2032a90b Optimise Object's `get_argument_options` 2024-02-29 18:00:54 +01:00
Markus Sauermann c58607c32f Fix owner when importing meshes
Handle the case correctly, that a child of a replaced node has
as owner an ancestor of the replaced node.
2024-02-26 22:24:57 +01:00
kobewi 75ba837612 Fix inefficient list iteration in Node 2024-02-24 23:18:44 +01:00
Travis Lange ae97cf2ff0
Fix AnimationMixer breaking animations with redundant check
Also change `Node::get_node_and_resource` to prevent it from printing an
error from `Node::get_node`, and just returns nullptr. This is what the
redundant check was trying to prevent.

Fixes #88428.

Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2024-02-19 16:50:19 +01:00
Rémi Verschelde ab4c5a594a
Merge pull request #88521 from YeldhamDev/atr_regression
Fix regression in auto translation overhaul
2024-02-19 00:09:22 +01:00
Rémi Verschelde 0f0515a75f
Merge pull request #87743 from WhalesState/camera2d
Fix `Camera2D` is enabled when dragging scene files to the `CanvasItemEditor`
2024-02-19 00:07:57 +01:00
Michael Alexsander b56774b5bf
Fix regression in auto translation overhaul 2024-02-18 19:33:08 -03:00
Mounir Tohami 451b198c40 Fix dragging scene files to the `CanvasItemEditor` 2024-02-18 21:55:14 +02:00
Rémi Verschelde 92fcbe2f5c
Revert "Allow configuration warnings to refer to a property"
This reverts commit bf37a9bac6.
2024-02-17 19:04:18 +01:00
Michael Alexsander 7b42c24550
Make auto translation inheritable 2024-02-15 16:51:19 -03:00
Rémi Verschelde 58a8eb8617
Merge pull request #84824 from Rindbee/fix-double-internal-node
Fix duplicating sub-scene may get two copies of internal node
2024-02-09 12:14:29 +01:00
RedMser bf37a9bac6 Allow configuration warnings to refer to a property
This is used by the inspector so it can show a warning icon on
a specific property.
2024-02-08 23:05:20 +01:00
kobewi 0de8a736da Allow Node.create_tween() outside SceneTree 2024-01-29 20:18:43 +01:00
Rémi Verschelde ef9cb3dfa5
Merge pull request #87535 from Mickeon/scene-tree-configuration-warnings-cleanup
Improve appearance of Node configuration warnings
2024-01-29 13:17:17 +01:00
Micky 3e4e0f08c4 Improve appearance of Node configuration warnings 2024-01-27 13:03:07 +01:00
Yuri Sizov adcfe3d1a0 Merge pull request #87252 from ajreckof/Fix-renaming-a-node-to-the-name-of-its-siblings-breaking-NodePath
Fix renaming a node to the name of its siblings breaking NodePath
2024-01-24 14:08:20 +01:00
Yuri Sizov 28cf7fe2f6 Merge pull request #85384 from HolonProduction/unique-name-completion
Suggest scene unique nodes in `get_node` autocompletion
2024-01-17 18:52:31 +01:00
ajreckof 2f697926b0 Fix renaming a node to the name of its siblings breaking NodePath
Also fix cases where node name was not visually updated because name was not changed

Co-Authored-By: Nông Văn Tình <53887662+nongvantinh@users.noreply.github.com>
2024-01-16 15:18:30 +01:00
Rémi Verschelde f3fc35eb17
Merge pull request #81506 from twobitadder/reparent_keep_owner
Fix `reparent()` losing owner
2024-01-11 17:34:19 +01:00
Micky f996003fb4 Add autocompletion to `get_node_or_null` 2024-01-06 17:33:32 +01:00
Rémi Verschelde fbaab3cf53
Merge pull request #86745 from KoBeWi/internal_error
Ignore internal children when replacing node
2024-01-03 15:48:41 +01:00
Rémi Verschelde 73c5deff76
Merge pull request #82916 from jsjtxietian/update-scene-tree-tooltip-after-editor-description-chnage
Support updating tooltip immediately after editor description change
2024-01-03 15:41:31 +01:00
kobewi cd2edfef25 Ignore internal children when replacing node 2024-01-03 13:04:16 +01:00
风青山 f19c419126 Fix duplicating sub-scene may get two copies of internal node
Previously, internal node might be mistaken for `hidden_root` and be duplicated again.
Exclude those internal nodes to avoid this case, unless the owner is set intentionally.
2023-12-20 18:29:25 +08:00
Stanislav Labzyuk 958699a0c4 Implement project-wide node groups 2023-12-19 18:07:19 +01:00
Yuri Sizov 13305d31b5 Merge pull request #83343 from warriormaster12/node-property-duplication
Fix export variable of type Node pointing to a wrong child node when duplicating
2023-12-08 15:22:59 +01:00
HolonProduction 8cc85515af Suggest scene unique nodes in `get_node` autocompletion 2023-11-26 15:41:29 +01:00
Markus Sauermann d3d00c7039 Fix crash caused by stale owner
Adjust `NOTIFICATION_PREDELETE` in `Node` to clean up owned nodes.
Also print a warning, when the owner becomes invalid.
2023-11-17 19:53:58 +01:00
jsjtxietian 4680ced5fa support updating tooltip after editor description change 2023-11-15 14:27:49 +08:00
Rémi Verschelde 15b8185c68
Don't use TTR/RTR for ERR/WARN prints
We don't translate those, only editor strings are translated.
2023-11-12 12:00:55 +01:00
Yuri Sizov 623b905d2e Remove unused `NOTIFICATION_NODE_RECACHE_REQUESTED` notification 2023-11-06 12:16:32 +01:00
warriormaster12 de1dc6c8d4 Fix node property duplication 2023-11-04 10:45:38 +02:00
twobit b4aa6ad36e Fix `reparent` losing owner if relationship to original owner is not broken 2023-10-26 13:08:05 -04:00
A Thousand Ships 034c0f1624 Replace `sanity` with `safety` for checks 2023-10-08 16:22:24 +02:00
Rémi Verschelde 3b70e30e9b
Merge pull request #77072 from vPumpking/get-tree-string
Add `Node.get_tree_string` and `Node.get_tree_string_pretty`
2023-10-05 16:32:12 +02:00
Danil Alexeev aff767ef07
Fix expected argument count for `Callable` call errors 2023-09-29 20:00:10 +03:00
jsjtxietian e36117f557 Fix can not set process priority of node if not any process is processing 2023-09-26 19:29:25 +08:00
vPumpking bd575c5fe5 Add 'get_tree_string()' and 'get_tree_string_pretty()' to Node class to complement printing methods 2023-09-15 19:18:53 +02:00
Yuri Sizov d8ff69d53c Extract ScriptInstance to simplify includes
This allows to include script_instance.h directly in the
generated gdvirtual.gen.inc, and remove excessive includes
from the codebase.

This should also allow Resource to use GDVIRTUAL macros,
which wasn't possible previously due to a circular dependency.
2023-09-06 22:54:38 +02:00
A Thousand Ships 9cf13cedfd Ensure binds are duplicated with `Node` signals 2023-08-29 16:52:38 +02:00
Rémi Verschelde c081d1bd24
Merge pull request #78816 from kleonc/scene-tree-fix-drag-drop-to-parent-with-internal-nodes
Fix drag-dropping nodes to parent with internal nodes
2023-08-16 16:54:06 +02:00
Yuri Sizov fd1ee5d56b Merge pull request #79332 from AThousandShips/mp_crash
Prevent crash when accessing `Node` Multiplayer from thread
2023-08-01 17:25:07 +02:00
Yuri Sizov 4d42d6fdf6 Merge pull request #78706 from RedworkDE/node-rename-inplace
Allow renaming child nodes in `_ready`
2023-07-21 17:15:26 +02:00
Ninni Pipping 7bd3a3a5e5 Prevent crash when accessing `Node` Multiplayer from thread 2023-07-11 12:57:25 +02:00
Rémi Verschelde 6cb1162aa0
Merge pull request #79000 from AThousandShips/owner_error
Improve error message for `Node.set_owner`
2023-07-11 11:29:30 +02:00
kleonc 3f6e35bdb2 Fix drag-dropping nodes to parent with internal nodes 2023-07-07 19:24:44 +02:00
Ninni Pipping 0183340012 Improve error message for `Node.set_owner` 2023-07-04 08:51:12 +02:00
Markus Sauermann b02dff6e1c Fix `Node::add_sibling` parent check
Replace `data.blocked > 0` by `data.parent->data.blocked > 0` in order
to check if the parent is busy.
2023-06-29 20:21:37 +02:00
Pedro J. Estébanez 70ca659143 Fix node internal/non-internal processing order
Bonus:
Fix issues in group-processing related setters
2023-06-27 19:19:55 +02:00
RedworkDE 2c0caa5828 Allow renaming child nodes in `_ready` 2023-06-26 13:25:48 +02:00
Markus Sauermann 31fab43b8b Fix scene load crash related to `_ready`
The iterator might get invalidated during `_ready`-user-code.
Prevent this by disallowing set_name during iterator-operations.
2023-06-25 22:35:38 +02:00
Rémi Verschelde cce100a840
Merge pull request #75459 from kleonc/node-fix-find-children
Fix recursive `Node.find_children`
2023-06-19 22:33:46 +02:00
Danil Alexeev eb391d3302
Display `BitField[Enum]` in docs to distinguish from `Enum` 2023-06-15 17:23:02 +03:00
Rémi Verschelde c3e5e4ed4b
Merge pull request #68599 from Rindbee/update-edited_scene_root-in-time
Update the edit scene root in time after it is replaced
2023-06-12 17:08:50 +02:00
Rindbee eb74079dfb Update the edit scene root in time after it is replaced
When changing the type of the edited scene root node, it may be necessary
to update edited scene root in time for the child nodes to work properly.
2023-06-12 21:49:30 +08:00
Ninni Pipping dcd2b883eb Use NULL instead of COND checks when appropriate
Restricted to scene
2023-06-10 08:56:30 +02:00
Markus Sauermann 7561e176e8 Fix parent inconsistency in `Node::remove_child`
`NOTIFICATION_CHILD_ORDER_CHANGED` could be triggered, while there
was an inconsistent state:
- parent node no longer had child listed as child
- child node still had parent node listed as parent

Bring these two in sync, before emitting the notification.
2023-06-08 22:51:07 +02:00
Hugo Locurcio bd468cdec7
Display the node path or name in Node thread guard errors
This makes it easier to diagnose which node is the source of the issue.
2023-06-07 16:06:53 +02:00
Markus Sauermann 15ee292664 Don't update mouse cursor state on child order changed
Partially Revert "Create a virtual mouse move event after moving child nodes"
This reverts parts of commit ce10ca6979.

The problem was that the the mouse-move event interacted in unexpected ways.
2023-06-05 10:28:55 +02:00
Markus Sauermann ce10ca6979 Create a virtual mouse move event after moving child nodes
This updates mouse cursor and mouse-over-states without the need
for additional mouse movements.
2023-05-29 22:46:19 +02:00
Rémi Verschelde 508a5bf16e
Merge pull request #76025 from YuriSizov/editor-reparentable-windows
Expose dialog parent-and-popup logic to the API
2023-05-16 10:49:09 +02:00
Rémi Verschelde 8cfa19a078
Merge pull request #77000 from reduz/make-more-base-nodes-thread-safe
Make more base nodes thread safe
2023-05-16 00:31:56 +02:00
Yuri Sizov 17f492fb82 Expose dialog parent-and-popup logic to the API 2023-05-15 19:49:28 +02:00