Commit Graph

187 Commits

Author SHA1 Message Date
5ff7a9e793 Merge pull request #112031 from bruvzg/vm_os_f
Fix embedded window frame oversampling, fix DPITexture using uninitialized size in some conditions.
2025-11-25 09:52:24 -06:00
67735cf213 Make bottom panel into available dock slot 2025-11-21 18:52:13 +01:00
15279f769d Fix embedded window frame oversampling, fix DPITexture using uninitialized size in some conditions. 2025-10-25 17:23:45 +03:00
fbf1c72f15 Merge pull request #90401 from KoBeWi/I_wonder_how_much_this_breaks
Don't redraw invisible CanvasItems
2025-10-24 11:23:02 -05:00
2dce5172e2 Fix rotation/scale order in CanvasItem::draw_set_transform 2025-10-10 15:09:25 +02:00
9843a016f5 Reorder registration of types, to register supertypes before subtypes. 2025-10-09 11:50:32 +02:00
9fbf5808a0 Rename server "free" functions to "free_rid" to match exposed API 2025-09-30 16:52:25 -07:00
c62356fcaa Merge pull request #85080 from Cykyrios/draw-ellipse
Add methods to draw ellipses
2025-09-23 12:08:51 -05:00
149a4b4ca1 Merge pull request #107868 from lawnjelly/quick_ancestry4
Provide quick access to `Object` ancestry
2025-09-20 13:41:39 -05:00
9f7c3d00dd Add methods to draw ellipses 2025-09-19 10:45:16 +02:00
1c056c7c86 Merge pull request #107481 from lawnjelly/localvector_children
Use `LocalVector` for `Node3D` and `CanvasItem` children
2025-09-18 12:42:28 -05:00
6abfa4be7b Don't redraw invisible CanvasItems 2025-08-23 14:27:21 +02:00
2d3dedb12d FTI - Add reset on setting top_level 2025-06-29 17:01:51 +01:00
583c72f999 FTI - Change SceneTree global setting to static
Also fixup FTI configuration warnings so that they only output when the project is using FTI.
2025-06-23 10:19:24 +01:00
14a814586a Provide quick access to Object ancestry 2025-06-23 07:11:11 +01:00
af2b9be356 Node3D and CanvasItem children change to LocalVector 2025-06-18 13:32:30 +01:00
d0aa95a6d4 Fix typo ovrsampling → oversampling 2025-04-15 11:21:51 +02:00
4afeca3bcf Replace global oversampling with overrideable per-viewport oversampling. 2025-04-14 13:43:09 +03:00
94282d88f9 Core: Use Math namespace for constants 2025-04-10 16:29:30 -05:00
b106dfd4f9 Base accessibility API. 2025-04-08 20:14:28 +03:00
2800948d61 Organize ifdefs for disabling navigation, physics, and XR 2025-04-02 08:24:24 -07:00
60a9c8e2ea Add node configuration warnings for nested clipping and CanvasGroups
Many subclasses of CanvasItem had to have their `get_configuration_warnings` methods updated so they would display the warning as well

Make clip children warning update whenever clip_children_mode is modified

Update scene/main/canvas_item.h

Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>

Add warning if ancestor of clipping CanvasItem is CanvasGroup

Add warnings for CanvasGroup when ancestors are CanvasGroups or clip children
2025-03-26 21:40:49 -07:00
56fc0fd175 CPUParticles2D - Add ability to follow physics interpolated target
Allows a non-interpolated particle system to closely follow an interpolated target without tracking ahead of the target, by performing fixed timestep interpolation on the particle system global transform, and using this for emission.

Co-authored-by: lawnjelly <lawnjelly@gmail.com>
2025-01-24 14:13:20 +01:00
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
ceefc0d38a Implement 2D instance shader parameters
Co-authored-by: kobewi <kobewi4e@gmail.com>
Co-authored-by: yesfish <huwpascoe@users.noreply.github.com>
Co-authored-by: Álex Román Núñez <eirexe123@gmail.com>
2024-12-17 23:59:16 +01:00
58e79bfa9a Compile certain CanvasItem._edit_*() functions with DEBUG_ENABLED 2024-11-02 15:43:18 -03:00
e0c7e063e5 Improve make_canvas_position_local description 2024-10-24 15:10:20 +02:00
62f134bd7e Merge pull request #91724 from KoBeWi/regional_textures
Add support for AtlasTexture in `draw_polygon()`
2024-05-30 11:47:47 +02:00
413c11357d Use Core/Scene stringnames consistently 2024-05-13 23:41:07 +02:00
ed3d311687 Add antialias support for CanvasItem draw primitives
including
- rect, circle; both filled and unfilled.
- polyline, multiline
2024-05-13 19:03:31 +08:00
a262d2d881 Add shorthand for using singleton string names 2024-05-11 18:53:08 +02:00
47aefbb415 Add support for AtlasTexture in draw_polygon() 2024-05-08 19:10:53 +02:00
1f2aa17d14 Extend CanvasItem::draw_circle() with filled, width, and antialiased options
Make it possible to draw unfilled circle, like draw_rect(). Antialising is only implemented for unfilled version.
2024-05-02 10:42:24 +02:00
3cd4b2859c Expose TileMapLayer 2024-04-03 11:02:34 +02:00
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
e08fb19bd1 Make CanvasItem's "drawing outside of NOTIFICATION_DRAW" error a macro 2024-03-09 22:47:54 +01:00
TML
6a17f2a82d Expose CanvasLayer::get_canvas_layer_node() 2024-02-20 18:14:47 +01:00
9dfc012369 Remove unecessary _set_global_invalid added by mistake 2024-01-18 10:48:23 +01:00
788aab3a96 Merge pull request #87115 from groud/tilemap_layers_as_nodes
Make TileMapLayers extend Node2D and work as children of TileMap
2024-01-17 18:53:12 +01:00
0724506cdd Merge pull request #86841 from groud/fix_global_transform_in_enter_tree
Fixes global transform being wrong on entering tree
2024-01-17 18:52:59 +01:00
48bed5050b Make TileMapLayers extend Node2D and work as children of TileMap 2024-01-17 16:05:50 +01:00
0a726d692a Fixes global transform being wrong on entering tree 2024-01-16 16:02:37 +01:00
0e8f90f4c8 Update deferred calls to use Callables 2024-01-09 16:11:47 +01:00
a98b94758b Revert "Fix transform notification not getting sent out for RigidBody2D" 2023-11-14 22:17:26 +01:00
9fb0b52608 Fix transform notification not getting sent out for RigidBody2D 2023-11-13 15:44:32 +01:00
kit
d24d73ba31 Make mouse-enter/exit notifications match mouse event propagation
`NOTIFICATION_MOUSE_ENTER` and `NOTIFICATION_MOUSE_EXIT` now includes
the areas of children control nodes if the mouse filters allow it.

In order to check if a Control node itself was entered/exited, the newly
introduced `NOTIFICATION_MOUSE_ENTER_SELF` and
`NOTIFICATION_MOUSE_EXIT_SELF` can be used.

Co-authored-by: Markus Sauermann <6299227+Sauermann@users.noreply.github.com>
2023-11-09 09:11:59 -05:00
73f72409f5 Allow normal maps on TileMaps that use texture padding 2023-10-18 14:55:44 +02:00
12a2177967 Fix notification thread guards 2023-10-02 19:31:54 +03:00
a29416e332 [Scene,Main] Replace ERR_FAIL_COND with ERR_FAIL_NULL where applicable 2023-09-12 12:53:06 +02:00
7f317ef1bf Remove CanvasItem::_invalidate_global_transform
The only use of that function can be replaced by `_notify_transform`,
which makes the `propagate_call` unnecessary.
As far as I can tell, the `data.blocked`-checks of `propagate_call`
are not needed in this case, because `_invalidate_global_transform`
causes no user-noticeable changes.
2023-08-30 00:29:42 +02:00