Thaddeus Crews
324512e11c
Style: Replace header guards with #pragma once
2025-03-07 17:33:47 -06:00
kobewi
92ab92114e
Don't duplicate internal nodes
2025-03-07 16:08:53 +01:00
Yufeng Ying
73d85f46c9
Remove unused headers in scene.
...
Co-authored-by: Thaddeus Crews <repiteo@outlook.com >
Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com >
2024-12-24 00:40:09 +08:00
Hilderin
9d2a4c03be
Embedding game process in editor
2024-12-18 17:52:42 -05:00
HP van Braam
6f7525c396
Improve Scene Tree editor performance
...
We now cache the Node*<>TreeItem* mapping in the SceneTreeEditor. This
allows us to make targeted updates to the Tree used to display the scene
tree in the editor.
Previously on almost all changes to the scene tree the editor would
rebuild the entire widget, causing a large number of deallocations an
allocations. We now carefully manipulate the Tree widget in-situ saving
a large number of these allocations.
In order to know what Nodes need to be updated we add a
editor_state_changed signal to Node, this is a TOOLS_ENABLED,
editor-only signal fired when changes to Node happen that are relevant
to editor state.
We also now make sure that when nodes are moved/renamed we don't check
expensive properties that cannot contain NodePaths. This saves a lot of
time when SceneTreeDock renames a node in a scene with a lot of
MeshInstances. This makes renaming nodes go from ~27 seconds to ~2
seconds on large scenes.
SceneTreeEditor instances will now also not do all of the potentially
expensive update work if they are invisible. This behavior is turned off
by default so it won't affect existing users. This change allows the
editor to only update SceneTreeEditors that actually in view. In
practice this means that for most changes instead of updating 6
SceneTreeEditors we only update 1 instantly, and the others only when
they become visible.
There is definitely more that could be done, but this is already a
massive improvement. In complex scenes we see an improvement of 10x,
things that used to take ~30 seconds now only take 2.
This fixes #83460
I want to thank KoBeWi, TokisanGames, a-johnston, aniel080400 for
their tireless testing. And AeioMuch for their testing and providing a
fix for the hover issue.
2024-12-12 22:47:05 +01:00
Michael Alexsander
16524a8a01
Add "Game" editor for better runtime debugging
2024-10-30 11:42:17 -03:00
Haoyu Qiu
210810bacb
Fix atr_n() behavior when auto translation is disabled
2024-09-29 22:59:33 +08:00
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
Rémi Verschelde
e98aaf1caa
Merge pull request #94477 from RedMser/typos-batch-1
...
Fix various typos
2024-08-28 00:12:12 +02:00
Rémi Verschelde
46c6865979
Merge pull request #92391 from rburing/fti_3d
...
Physics interpolation (3D)
2024-08-16 10:33:37 +02:00
RedMser
f9258ff928
Fix typos
2024-07-17 18:53:03 +02:00
CrazyRoka
6c86268fdd
Decorate rare !data.inside_tree condition with unlikely
2024-07-12 13:38:41 +01:00
CrazyRoka
53e9d90850
Optimize Node::is_readable_from_caller_thread() by prioritizing the most common case.
2024-07-11 20:40:00 +01: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
kobewi
413c11357d
Use Core/Scene stringnames consistently
2024-05-13 23:41:07 +02:00
warriormaster12
f14455fd3d
Fix a performance regression when duplicating a node
2024-05-12 21:43:22 +03: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
ajreckof
ae472865d0
fix node duplication in update after external changes.
2024-04-03 12:19:38 +02:00
Rémi Verschelde
e92806c7e7
Merge pull request #88424 from rburing/fti_2d
...
Physics interpolation (2D)
2024-03-24 01:13:53 +01:00
Rémi Verschelde
8c470749f1
Merge pull request #87387 from warriormaster12/dup_prop_refactor
...
Fix property of type Node duplication when script is attached to a child node
2024-03-24 01:12:57 +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
warriormaster12
9851c1bdd8
Fix property duplication when duplicating a parent node
2024-03-17 09:57:38 +02:00
Thaddeus Crews
9903e6779b
Enforce template syntax typename over class
2024-03-07 22:39:09 -06:00
Micky
cd2032a90b
Optimise Object's get_argument_options
2024-02-29 18:00:54 +01: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
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
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
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
Pedro J. Estébanez
631d1e3a86
Let read thread guards allow access to out-of-tree nodes
2024-01-08 10:33:09 +01:00
Yuri Sizov
623b905d2e
Remove unused NOTIFICATION_NODE_RECACHE_REQUESTED notification
2023-11-06 12:16:32 +01:00
A Thousand Ships
f18aa00e85
Replace ERR_FAIL_COND with ERR_FAIL_NULL where applicable
2023-10-08 17:23:33 +02: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
kleonc
3f6e35bdb2
Fix drag-dropping nodes to parent with internal nodes
2023-07-07 19:24:44 +02:00
Danil Alexeev
eb391d3302
Display BitField[Enum] in docs to distinguish from Enum
2023-06-15 17:23:02 +03: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
Pedro J. Estébanez
8c288918a0
Remove redundant check from thread guards
2023-06-01 11:08:14 +02:00
Rémi Verschelde
adbdf9a86e
Merge pull request #77234 from RandomShaper/fix_rtl_mt
...
Allow threads to mark themselves as safe for nodes
2023-05-24 08:42:59 +02:00
Pedro J. Estébanez
e725b4b02b
Allow threads to mark themselves as safe for nodes
2023-05-24 00:22:58 +02:00
Pedro J. Estébanez
250d8d00b5
Fix compile issue in not very conformant compilers
2023-05-22 13:33:40 +02:00
Pedro J. Estébanez
50cf3d6966
Optimize threading-sensitive node data for single-threaded processing
2023-05-17 02:04:41 +02:00
Pedro J. Estébanez
44cc0d2ec2
Let calls through thread guards in resource loading contexts
2023-05-17 01:43:28 +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