Juan Linietsky
37362202a4
Fix CI build error
...
Fixes potential use of uninitialized variable.
2023-04-08 18:21:08 +02:00
Juan Linietsky
ab5fc22f67
Optimize Node children management
...
* Adding and removing child nodes is now constant time, speed up should be huge.
* Searching for node paths as in ("path/to/node") should be far faster too.
This changes the children management and makes it a hashmap, optimizing most StringName based operations.
Most operations should be severe speed up without breaking compatibility.
This should fix many issues regarding to node access performance, and may also speed up editor start/end, but benchmarks are needed. So if you want to test, please make some benchmarks!
Further performance improvements will be done in the future by removing NOTIFICATION_MOVED_IN_PARENT and replacing by something less laborious.
2023-04-08 10:54:28 +02:00
Rémi Verschelde
c151d3231f
Merge pull request #75760 from reduz/optimize-node-add-child-validation
...
Optimize Node::add_child validation
2023-04-07 18:20:28 +02:00
Yuri Sizov
f38b540273
Merge pull request #75756 from smix8/fix_obstacle_avoidance_sim_4.x
...
Fix NavigationObstacles not being added to avoidance simulation
2023-04-07 15:11:40 +02:00
Yuri Sizov
b5f532094e
Merge pull request #56671 from Rgtemze/warn_if_concave
...
Warn when a concave polygon is assigned to ConvexPolygonShape2D
2023-04-07 14:39:41 +02:00
Yuri Sizov
a13635cdf8
Merge pull request #70901 from timothyqiu/tree-scroll-offset
...
Add scrollbar offset theme constants to Tree
2023-04-07 13:24:01 +02:00
Juan Linietsky
223ce4fcb9
Optimize Node::add_child validation
...
Adding 10k nodes is almost twice as fast.
2023-04-07 13:18:47 +02:00
Yuri Sizov
f1f0e5f91d
Merge pull request #75728 from smix8/fix_audiostreamplayer2d_crash_4.x
...
Fix AudioStreamPlayer2D crash when PhysicsServer2D runs on thread
2023-04-07 12:46:53 +02:00
Samuele Panzeri
404f24b5c4
Update sibling indices after a node is removed.
...
With change 104392e
the code to update node indices on removal was erronously removed.
The out of date indices would cause crashes while selecting nodes in a graph editor (e.g. animation tree) and selected nodes are oftern pushed to beginning or end of the child list for the parent.
2023-04-06 20:47:57 +02:00
smix8
aadf33efd8
Fix NavigationObstacles not being added to avoidance simulation
...
Fixes NavigationObstacles not being added to avoidance simulation.
2023-04-06 16:32:49 +02:00
Rémi Verschelde
92b7a9603a
Merge pull request #75701 from reduz/notification-moved-in-parent
...
Remove NOTIFICATION_MOVED_IN_PARENT
2023-04-06 14:35:04 +02:00
Juan Linietsky
104392ef4e
Remove NOTIFICATION_MOVED_IN_PARENT
...
* This notification makes node children management very inefficient.
* Replaced by a NOTIFICATION_CHILDREN_CHANGED (and children_changed signal).
* Changed Canvas code (and similar) to use the above signal, to perform more efficiently.
This PR breaks compatibility (although this notification was very rarely used, even within the engine), but provides an alternate way to do the same.
It is required for the changes in #75627 to be entirely effective.
2023-04-06 13:57:13 +02:00
Haoyu Qiu
498d538578
Add scrollbar offset theme constants to Tree
2023-04-06 15:04:28 +08:00
smix8
a5351086b0
Fix AudioStreamPlayer2D crash when PhysicsServer2D runs on thread
...
Fixes AudioStreamPlayer2D crash when PhysicsServer2D runs on thread due to empty PhysicsSpace
2023-04-06 03:29:09 +02:00
Rémi Verschelde
5cf878c090
Merge pull request #75113 from m4gr3d/fix_2d_editor_dragging_main
...
Fix the issue preventing dragging in the 2D editor
2023-04-05 20:21:09 +02:00
Rémi Verschelde
e0bff2fa06
Merge pull request #75610 from aaronfranke/sus-travel-m
...
Change VehicleWheel3D suspension travel to use meters internally
2023-04-05 12:03:23 +02:00
Rémi Verschelde
4f4b5a2785
Merge pull request #73475 from YuriSizov/theme-is-busy-plz-come-back-later
...
Add a warning when accessing theme prematurely and fix surfaced issues
2023-04-05 12:03:15 +02:00
Johan Aires Rastén
9a60c4affb
GraphNode ignore non-visible children for minimum size.
2023-04-05 09:05:52 +02:00
Aaron Franke
dd0eb1ab47
Change VehicleWheel3D suspension travel to use meters internally
2023-04-03 12:34:05 -07:00
Yuri Sizov
e401540264
Implement theme item cache in ColorPicker and friends
2023-04-03 18:01:11 +02:00
Yuri Sizov
db2f99cdc0
Implement theme item cache in TextEdit and CodeEdit
2023-04-03 18:01:10 +02:00
Yuri Sizov
91ff34b5b5
Add a warning when trying to access theme items too early
2023-04-03 18:01:10 +02:00
Rémi Verschelde
5b775282b7
Merge pull request #74654 from YuriSizov/gui-cause-you-re-hi-and-you-re-lo-you-re-yes-and-you-re-no
...
Prevent crash in `ItemList` when checking for visible items
2023-04-03 17:08:44 +02:00
Rémi Verschelde
b85fc4aa6d
Merge pull request #73646 from KoBeWi/squish
...
Prevent off-screen controls in editor
2023-04-03 17:07:54 +02:00
Rémi Verschelde
8a02d3817d
Merge pull request #73180 from KoBeWi/pretty_tweens
...
Various Tween code improvements
2023-04-03 17:07:29 +02:00
Rémi Verschelde
57e3651763
Merge pull request #72028 from kilojool/option_button_reselection
...
OptionButton: allow reselection of selected item
2023-04-03 17:06:36 +02:00
Rémi Verschelde
1db9de5406
Merge pull request #75597 from bruvzg/tx_block
...
[TextEdit] Fix block caret size at the end of the line.
2023-04-03 16:06:02 +02:00
Rémi Verschelde
f8e0880623
Merge pull request #75595 from Geometror/fix-graphedit-rect-scaling
...
Fix several GraphEdit operations at zoom levels other than 100%
2023-04-03 16:05:38 +02:00
Rémi Verschelde
a9855a3a4c
Merge pull request #75494 from MewPurPur/line-edit-get-selected-text
...
Implement LineEdit.get_selected_text()
2023-04-03 16:03:58 +02:00
Rémi Verschelde
3c225c19c1
Merge pull request #75487 from Rindbee/improve_update_remote_in_RemoteTransform2D
...
Fix RemoteTransform2D could fail to update AnimatableBody2D's position or rotation
2023-04-03 16:03:34 +02:00
Rémi Verschelde
9c492204ca
Merge pull request #75340 from Barugon/tree_colunm_title_alignment
...
Implement column title alignment for `Tree`
2023-04-03 16:03:10 +02:00
Rémi Verschelde
b237df8cea
Merge pull request #75326 from smix8/navigationagent_expose_parameters_4.x
...
Expose NavigationAgent path postprocessing and pathfinding algorithm options
2023-04-03 16:02:21 +02:00
Rémi Verschelde
4779d4f695
Merge pull request #75298 from KoBeWi/supersonic_filesystem
...
Refresh filesystem when saving remote branch
2023-04-03 16:01:57 +02:00
Rémi Verschelde
420ea5c0ad
Merge pull request #73074 from M4rYu5/capslock-editor-completion-fix
...
Editor: Ignore CapsLock when pressed alone
2023-04-03 15:58:11 +02:00
kobewi
20f03884f2
Various Tween code improvements
2023-04-03 15:40:02 +02:00
bruvzg
efe04af446
[TextEdit] Fix block caret size at the end of the line.
2023-04-02 20:53:13 +03:00
Rémi Verschelde
ec0a6dcdda
Merge pull request #75544 from Pingar5/master
...
Fixed property hint for platform layers on 3D physics body
2023-04-02 17:34:15 +02:00
Rémi Verschelde
d22e9effa2
Merge pull request #75532 from kleonc/texture-progress-bar-update-on-texture-changes
...
`TextureProgressBar` Update upon texture changes
2023-04-02 17:33:27 +02:00
Hendrik Brucker
49587fd6d9
Fix several GraphEdit operations at zoom levels other than 100%
2023-04-02 16:40:10 +02:00
Brennen Shaughnessy
2d16fe681d
Fixed property hint for platform layers on 3D physics body
2023-03-31 19:40:45 -04:00
kleonc
cdc63214fe
TextureProgressBar Update upon texture changes
2023-04-01 00:16:43 +02:00
Yuri Sizov
1522762dc9
Make icons of scripted and custom classes fit the editor UI
...
Also:
- Add an option to limit the icon size in PopupMenu.
This is similar to how this works in Tree and TreeItem.
- Add the same option to TabBar.
- Add a theme constant for Tree, PopupMenu, Button, and
TabBar to apply this limit on the control level.
Co-authored-by: Daylily-Zeleen <daylily-zeleen@foxmail.com>
2023-03-31 21:39:02 +02:00
VolTer
1856ceeb76
Implement LineEdit.get_selected_text()
2023-03-30 22:58:12 +02:00
bruvzg
efa647bb17
[RTL] Fix fill align and trim with enabled dropcap.
2023-03-30 22:23:39 +03:00
Rindbee
100b4b1f28
Fix RemoteTransform2D could fail to update AnimatableBody2D's position or rotation
...
Configure the transform per condition, and then only set it once to
prevent multiple `NOTIFICATION_LOCAL_TRANSFORM_CHANGED` notifications
from being sent.
2023-03-30 16:00:35 +08:00
RedworkDE
aa604c5c47
Do not clamp non-embedded window size to embedder
2023-03-29 22:35:07 +02:00
Yuri Sizov
1222d35cdd
Merge pull request #75398 from newobj/issue-75218
...
Update GPUParticles2D/3D speed scale on ENTER_TREE
2023-03-28 16:34:58 +02:00
Yuri Sizov
f818d2b98f
Merge pull request #75141 from rcorre/rrc/dialog-pos
2023-03-28 10:54:37 +02:00
Brian Long
4652fbd09e
Update GPUParticles2D/3D speed scale on ENTER_TREE
...
Fix for https://github.com/godotengine/godot/issues/75218
Pause notifications are not sent when a node is added as a child. So GPUParticles2D should also obey its can_process status on ENTER_TREE, not just PAUSED/UNPAUSED.
2023-03-27 13:24:59 -07:00
Barugon
c56ff437ae
Implement column title alignment for Tree
2023-03-27 09:23:46 -07:00