Rémi Verschelde
29eeb461f2
Merge pull request #68738 from lawnjelly/faster_canvas_item
...
[3.x] Canvas item hierarchical culling
2023-06-27 08:40:22 +02:00
Rémi Verschelde
83e91ab818
Merge pull request #76323 from aaronfranke/3.x-t2d-basis-det
...
[3.x] Expose `determinant` in Transform2D, rename internal method
2023-04-26 12:17:00 +02:00
lawnjelly
b777a9e5f9
Canvas item hierarchical culling
...
Adds optional hierarchical culling to the 2D rendering (within VisualServer).
Each canvas item maintains a bound in local space of the item itself and all child / grandchild items. This allows branches to be culled at once when they don't intersect a viewport.
2023-04-25 20:17:33 +01:00
Aaron Franke
141783d90f
[3.x] Expose `determinant` in Transform2D, rename internal method
2023-04-22 13:47:47 -05:00
lawnjelly
1730fab22a
Consistent render ordering for CanvasLayers
...
Maintains scene tree ordering for CanvasLayers that share identical layer ID.
2023-03-12 05:00:13 +00:00
Rémi Verschelde
1426cd3b3a
One Copyright Update to rule them all
...
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".
Backported from #70885 .
2023-01-10 15:26:54 +01:00
Rémi Verschelde
1ee7c5a62c
Merge pull request #62444 from lawnjelly/faster_queue_free3
...
[3.x] Faster queue free
2023-01-10 10:55:36 +01:00
necrashter
147de75e52
Set touch input as handled only after _gui_call_input
2022-12-26 11:58:32 +03:00
Rémi Verschelde
3b7bb812fd
Merge pull request #70310 from Sauermann/3x-fix-follow-viewport-transform
...
[3.x] Include the follow-viewport-transform into CanvasLayer transform calculations
2022-12-22 08:55:28 +01:00
Rémi Verschelde
76bcc90da8
Merge pull request #70228 from Calinou/add-transparent-viewport-project-setting-3.x
...
Add a project setting to make the root viewport transparent (3.x)
2022-12-22 08:55:21 +01:00
Markus Sauermann
608cbd8296
Include the follow-viewport-transform into CanvasLayer transform calculations
...
The follow-viewport-transform was missing from several calculations
3.x version of #59682
2022-12-19 19:18:54 +01:00
Haoyu Qiu
b2e5c8fe10
Fix possible Tween leak on exit
...
(cherry picked from commit e173710963
)
2022-12-18 10:32:04 +08:00
FireForge
0d602ce881
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
(cherry picked from commit 92817aa72f
)
2022-12-18 10:32:04 +08:00
Hugo Locurcio
65465f309c
Add a project setting to make the root viewport transparent
...
This allows creating a project with a transparent window without having
to write any script.
2022-12-18 00:38:05 +01:00
Rémi Verschelde
6963ba631e
Fix typos with codespell
2022-12-15 12:26:59 +01:00
Haoyu Qiu
a6a89356b7
Fix CanvasLayer visibility toggle can only run once per frame
2022-12-04 14:49:19 +08:00
Rémi Verschelde
af635f05bf
Merge pull request #68630 from m4gr3d/fix_input_event_screen_drag_routing_3x
...
[3.x] Fix routing of `InputEventScreenDrag` events to `Control` nodes
2022-12-01 18:13:52 +01:00
Markus Sauermann
0ae562c9dc
Update root order on layer change
...
When the layer of a CanvasLayer changes, the order of roots needs to be recalculated.
(cherry picked from commit 8d60e8b5d4
)
2022-12-01 10:23:04 +08:00
Lyuma
099e90e00d
Make Node editable_instance methods available to GDScript
...
(cherry picked from commit 7eb6ae2798
)
2022-12-01 10:15:06 +08:00
Fredia Huya-Kouadio
b28bcb4cfc
Fix the logic used to route `InputEventScreenDrag` events to `Control` nodes.
2022-11-30 14:16:26 -08:00
Haoyu Qiu
3b869e8027
Fix crash of queue_free() when main loop is not SceneTree
...
(cherry picked from commit 3b08d0e852
)
2022-11-30 15:44:49 +01:00
Nong Van Tinh
ffbaa7fff0
Enhance null checking for input event
2022-11-27 15:01:34 +07:00
lawnjelly
edc85d22fc
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.
2022-11-25 09:53:50 +00:00
Rémi Verschelde
80b50e59d5
Merge pull request #67612 from timothyqiu/who-ami-i-3.x
...
[3.x] Fix get_path() error when calling get_node()
2022-10-31 12:25:12 +01:00
Haoyu Qiu
5d6dc206bc
Fix get_path() error when calling get_node()
2022-10-19 13:05:41 +08:00
Micky
6102f3cfc2
[3.x] Rename `set_indexed` & `get_child`'s params to be clearer
...
3.x backport of #67300 and #64463 .
2022-10-12 20:55:41 +02:00
lawnjelly
17f42e8e66
Improve signal already connected error message
...
The signal already connected message is improved to provide the names of the objects involved.
2022-09-21 07:52:30 +01:00
kobewi
0511f48c49
Fix Viewport size change not updating textures
...
(cherry picked from commit 3a4a4aeade
)
2022-09-05 15:35:45 +02:00
kobewi
737bfa57d3
Allow to change the Stop shortcut used at runtime
...
(cherry picked from commit 409613ba7b
)
2022-09-05 15:35:45 +02:00
Rémi Verschelde
c551a79084
Merge pull request #65063 from Atlinx/fix/65033_fix-hdr-warning
...
Disable HDR warning for Viewport on GLES2 projects
2022-08-30 08:38:06 +02:00
Atlinx
e3b3462187
Remove HDR warning if on low end
2022-08-29 19:14:30 -04:00
Michael Alexsander
1e80b17a8d
Fix some corner cases in the `Menu/OptionButton` item auto-highlight
2022-08-28 01:45:08 -03:00
Yuri Sizov
72d1156286
Remove Inspector tooltip hack that never actually worked
2022-08-26 17:12:46 +03:00
Rémi Verschelde
91a6e08c12
Merge pull request #48157 from madmiraal/fix-46438-3.x
...
[3.x] Fix mouse_over not dropped when mouse leaves window
2022-08-05 22:37:17 +02:00
Rémi Verschelde
25c87e99cf
Merge pull request #61578 from YuriSizov/core-fix-events-for-moved-nodes-3.x
2022-08-05 19:33:25 +02:00
Rémi Verschelde
818f1eed31
Code quality: Fix header guards consistency
...
Adds `header_guards.sh` bash script, used in CI to validate future
changes. Can be run locally to fix invalid header guards.
2022-07-25 14:53:37 +02:00
Marcel Admiraal
fb4e1d2d02
Set initial SceneTree processes times to 0.0
2022-07-17 09:02:20 +01:00
Marcel Admiraal
0992621200
Fix mouse_over not dropped when mouse leaves window
2022-07-03 09:49:56 +01:00
reduz
995281ca90
Fix editor-only visibility for lights
...
* Update visibility again for editor-only lights if owner changes.
Fixes #26399 , supersedes #52327
(cherry picked from commit d69e3791bf
)
2022-07-03 03:21:51 +02:00
Rémi Verschelde
df70aa1772
Merge pull request #57566 from Calinou/viewport-shadow-atlas-clamp-sizes
2022-07-03 03:08:03 +02:00
Rémi Verschelde
3d19f21576
Merge pull request #49967 from Calinou/viewport-2d-hdr-print-warning
2022-07-03 02:41:26 +02:00
hilfazer
fe21fb175c
print_stray_nodes() also prints node's script
2022-07-03 01:00:58 +02:00
Rémi Verschelde
0cb897421a
Node: Rename `child_exited_tree` to `child_exiting_tree`
...
The name was confusing as this signal is emitted around the same time as
`tree_exiting` and `NOTIFICATION_EXIT_TREE`, i.e. while the child node is
still in tree.
Fixes #59210 .
(cherry picked from commit 3e6de687b8
)
2022-06-20 15:00:09 +02:00
lawnjelly
ba74643594
Force unsigned behaviour for bitfield enums
...
Some compilers (notably MSVC) were using signed values for bitfield enums. This was causing problems where 2 bits were used to store 4 or less enum values, where they were being treated as negative numbers.
This PR explicitly requests these enums to be treated as unsigned values.
2022-06-06 16:58:21 +01:00
Haoyu Qiu
d043f91b79
Fix `Viewport.own_world` documentation
...
Also fixed the naming of the setter's parameter and made an `if` block
straightforward.
2022-06-06 21:34:36 +08:00
Rémi Verschelde
a6b27b526f
Merge pull request #60822 from lawnjelly/fti_add_child_reset
2022-06-03 14:56:19 +02:00
Yuri Sizov
6d53c60bf7
Mark node groups as dirty for every children if parent is moved
2022-05-31 21:23:16 +03:00
Rémi Verschelde
67208ae80b
Merge pull request #60402 from Calinou/httprequest-timeout-float
2022-05-20 15:27:29 +02:00
Haoyu Qiu
58650af062
Make auto_accept_quit and quit_on_go_back properties
2022-05-14 18:24:43 +08:00
Hugo Locurcio
069c955af7
Use a floating-point number for the `timeout` property in HTTPRequest
...
This allows for greater precision when specifying a timeout in
HTTPRequest in `3.x`, similar to what is already possible in `master`.
2022-05-11 08:41:40 +02:00