a14b058dc4
Ported from godot 4: 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!
- reduz
ab5fc22f67
2023-04-10 17:32:42 +02:00
32e9927ac8
Ported from godot 4: 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.
- reduz
Note that I removed NOTIFICATION_MOVED_IN_PARENT, as keeping it, but making it just not work is worse in my opinion.
104392ef4e
2023-04-10 15:55:34 +02:00
7d2667830d
Ported from godot 4: Fix Viewport root order after Node2D raise
...
- Sauermann
022d24a9ae
2023-04-10 11:42:15 +02:00
Ninni Pipping
e8216d9ad1
Backport Tree::set_selected
...
Backport function from godotengine#68448
Co-authored-by: bruvzg <7645683+bruvzg@users.noreply.github.com>
2023-03-12 14:25:47 +01:00
smix8
90f81c0013
Add error messages for collision exception functions
...
Adds error messages to collision exception functions when used with the wrong object/node instead of failing silently.
2023-03-12 14:24:56 +01:00
stmSi
9b65e9df6a
Fix Editor hanging if audiostream's pitch_scale is NaN
2023-03-12 14:14:29 +01:00
Marius Hanl
1be818c478
Fix RichTextLabel: BBCode [color] tags are not counting in font char spacing
...
Each BBCode tag is drawn individually, so we have to add the character spacing manually.
2023-03-12 13:11:00 +01:00
Brian Semrau
2b7327e014
Fix Line2D UVs when using BOX end cap mode
2023-03-12 12:45:31 +01:00
15bf4aefd0
Ported: Rework how current Camera2D is determined
...
7e2a8afb57
- KoBeWi
and
Fix Camera2D crashes
724d6581d6
- KoBeWi
From godot4.
Also fixed issues with active Camera2D switching.
2023-03-04 21:29:49 +01:00
e42c604bc3
Ported: Switch from recursion to iterative for backfilling colour regions.
...
- Paulb23
ee4a1c99a7
2023-02-21 13:11:37 +01:00
a79792ee67
Ported: Fix color region end key seach and start key order.
...
- Paulb23
6cdcdbc242
2023-02-21 13:08:49 +01:00
6ea9b581d7
Ported: Fix colour region continuation over blank lines, issue 41120
...
- Paulb23
5cf2cf8646
2023-02-21 12:53:41 +01:00
634bdfbb69
Ported: Changed line_edited_from(from) to lines_edit_from(from, to)
...
- Paulb23
907f9f2a84
2023-02-21 12:37:52 +01:00
0016b64316
Fix inconsistent overrides warning.
2023-02-21 01:34:30 +01:00
c356806ebf
Ported: Extract Syntax highlighting from TextEdit and add EditorSyntaxHighlighter
...
- Extacted all syntax highlighting code from text edit
- Removed enable syntax highlighting from text edit
- Added line_edited_from signal to text_edit
- Renamed get/set_syntax_highlighting to get/set_syntax_highlighter
- Added EditorSyntaxHighligher
- Paulb23
bc4cee4458
2023-02-21 01:30:59 +01:00
0edf8fe956
Ported: Convert syntax highlighters into a resource
...
- Paulb23
2f1080be9b
2023-02-20 14:51:10 +01:00
Jóhannes Gunnar Þorsteinsson
d19c1fedfb
Add independent spinbox arrow step precision
...
Backported from the `master` branch, with a property hint added.
2023-02-07 02:51:05 +01:00
db67fa53ea
Ported: Add a theme usability setting which updates the touch area of UI elements (e.g: scrollbar) for the editor on touchscreen devices
...
- m4gr3d
8170b7ae1e
2023-02-07 02:50:11 +01:00
1f20512f8c
Ported: Improve error messages and classref for occluders and portals
...
Misused functions would previously produce no error messages which was confusing for users.
- lawnjelly
5a0cb54b3a
2023-02-07 02:28:29 +01:00
3bd027f068
Ported: Add dumb theme item cache to Control
...
- YuriSizov, jordo
1647f4d85e
2023-02-07 02:11:52 +01:00
19baf2133a
Ported: PopupMenu rework and enhancements
...
Many scrolling behaviour improvements and the ability to limit popup size.
- EricEzaM, rsubtil
6a5992c9f1
2023-02-07 01:59:27 +01:00
stmSi
a872971e46
Fixed: Save Branch as Scene
not workking in Remote Tree (only work when u pause)
2023-02-07 01:08:29 +01:00
8c9d7bc567
Ported: Set touch input as handled only after _gui_call_input - necrashter
...
147de75e52
2023-01-16 14:46:29 +01:00
lawnjelly
85a4c5369b
Faster queue free
...
Calling queue_free() for large numbers of siblings could previously be very slow, with the time taken rising exponentially with number of children. This looked partly due to ordered_remove from the child list and notifications.
This PR identifies objects that are nodes, and sorts the deletion queue so that children are deleted in reverse child order. This minimizes the costs of reordering.
2023-01-16 14:24:25 +01:00
Haoyu Qiu
dc27330752
Make CollisionShape selection box use shape AABB
2023-01-16 14:19:35 +01:00
OsakiTsukiko
536884aa68
Fix RichTextLabel discards appended BBCode text on window resize when using DynamicFont
2023-01-16 13:54:31 +01:00
Haoyu Qiu
71c28de437
Fix Tree overflow without scrolling being enabled
2023-01-16 13:53:12 +01:00
Hugo Locurcio
04338a5018
Tweak particles animation offset property hint to allow more precise values
2023-01-16 13:47:55 +01:00
2cd4e4d828
Renamed Set to RBSet.
2023-01-15 19:42:08 +01:00
1b0aac6028
Renamed Map to RBMap.
2023-01-15 19:12:50 +01:00
213f393293
Fix typos with codespell.
2022-12-22 19:51:25 +01:00
ce5e82d910
Ported: Include the follow-viewport-transform into CanvasLayer transform calculations
...
The follow-viewport-transform was missing from several calculations
3.x version of #59682
- Sauermann
608cbd8296
2022-12-22 19:06:10 +01:00
8aa456b4c4
Ported: Add Vector2/3 linking to more properties
...
- Camera2D.zoom
- CanvasLayer.scale
- ParallaxBackground.scroll_base_scale
- ParallaxLayer.motion_scale
- Polygon2D.texture_scale
- SpatialMaterial.uv1_scale
- SpatialMaterial.uv2_scale
- fire-forge and timothyqiu
0d602ce881
2022-12-22 18:52:47 +01:00
b8009c85f4
Ported: Add vector value linking - KoBeWi and timothyqiu
...
9499ebecee
2022-12-22 18:50:17 +01:00
Haoyu Qiu
1d2a560819
Make NavigationAgent target_location
a property
2022-12-22 14:42:05 +01:00
Paweł Fertyk
845b70faad
Fix get_visible_line_count in RichTextLabel with newlines
...
Fixed #59359 .
2022-12-22 14:36:03 +01:00
kleonc
12e28bd557
AtlasTexture Fix calculating rects when flipping
...
(cherry picked from commit c3851b91db7a6dfd7170d6171109255ecb4a3809)
2022-12-22 14:31:21 +01:00
Paweł Fertyk
6ef3d20fb1
Fix BitMap.resize
error spam
...
Fixes #70187 .
2022-12-22 14:27:15 +01:00
Zak
b5c01b8703
Add uri
property for LinkButton
...
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
(cherry picked from commit d73a9b56b08864b5e5ccf0df910190b064ff7463)
2022-12-22 14:23:04 +01:00
smix8
9225e78f68
Fix Navigation agent callback wild pointer crash
...
Fixes crash in sanitizer builds when callback agent or object are already freed.
(cherry picked from commit 194c1c44e0a20faa4463e3a41bb12cf93a71fc03)
2022-12-22 14:12:00 +01:00
Haoyu Qiu
520f6d19f6
Fix possible Tween leak on exit
...
(cherry picked from commit e173710963c3316833ac2e2c26ab3830551fd790)
2022-12-22 14:06:21 +01:00
Wilson E. Alvarez
f7d04cc052
Avoid compiling Editor checks in release builds for VisibilityNotifier2D
2022-12-22 14:00:42 +01:00
Wilson E. Alvarez
f95c511c7a
Do not fire VisibilityNotifier screen_entered and screen_exited signals in the Editor
2022-12-22 13:54:25 +01:00
Haoyu Qiu
e75af6af1d
Fix crash after executing ItemList.set_icon_scale
...
(cherry picked from commit 8d0fa193c344be8e1ec801b1a45341801b80a5f8)
2022-12-22 13:53:53 +01:00
lawnjelly
25c3232a77
VariantParser make readahead optional
...
It turns out some areas are independently moving / reading filepointers outside of the VariantParser, which can cause the readahead caching to get out of sync.
This PR makes the VariantParser readahead to be optional to allow for these use cases.
2022-12-22 13:52:51 +01:00
Hugo Locurcio
b1c99f29e3
Fix infinite loop when calling Control.popup_centered_minsize()
...
Co-authored-by: sriramun <sriramun2@gmail.com>
(cherry picked from commit 08e804b3b718862e92e6b296b914e3829e43717e)
2022-12-22 13:51:14 +01:00
Dawid Marzec
289b16fa7b
Fix errors while deselecting all tree items; issue #65185
...
(cherry picked from commit d4d5df2314208a99c589456a75299a334672acd2)
2022-12-22 13:44:05 +01:00
c7809991b2
Fixed an another issue with touch gui input handling.
2022-12-12 18:30:35 +01:00
37961b1990
Fix regression in touch input handling.
2022-12-12 14:26:54 +01:00
smix8
4a9c859c6d
Add detail to NavigationPolygon outline error msg
...
Adds additional information to the error msg when the convex partition fails due to invalid outline arrays.
(cherry picked from commit f30ebacbe851bd207e1c55e82d04caf150a59690)
2022-12-12 12:13:36 +01:00