Commit Graph

2632 Commits

Author SHA1 Message Date
Ijtihed 0490383004 Fix Polygon2D culling against a stale AABB on the draw fast path
The #117334 fast path updates vertices in place without refreshing the mesh AABB soo the node is culled against its previous bounds.

Fixes #119843
2026-05-29 17:50:43 +03:00
Luca Martinelli 86e1ce7bf7 Disable AudioStreamPlayer2D/3D area bus override by default to improve performance
This reduces the number of physics checks performed by each
AudioStreamPlayer2D/3D node in the scene.

This is accomplished by setting the default area mask to 0
and exiting early when the area mask is to 0 to improve performance.
Note that in existing projects, the value will only be set to 0
if it was previously set to the default value (1).

The feature can be re-enabled by setting the area mask to 1
(or any other value) on each AudioStreamPlayer2D/3D node.
2026-05-05 23:40:02 +02:00
Thaddeus Crews 9b4b3831d2 Merge pull request #118588 from Bromeon/feature/more-required-ptrs
Use `RequiredParam`/`RequiredResult` in several more APIs
2026-04-16 09:41:13 -05:00
Kaleb Reid f973e3e346 Remove p_ and add r_ prefixes to argument names 2026-04-15 13:47:15 -07:00
Jan Haller 773ee962ed Use RequiredParam/RequiredResult in several more APIs 2026-04-15 00:53:13 +02:00
Pāvels Nadtočajevs cdd274199e Remove unused and broken big endian support code. 2026-04-13 12:41:46 +03:00
Thaddeus Crews b6f86739b6 Merge pull request #109911 from TCROC/fix-particles-moving-timescale-0
Fix particles moving when timescale is 0
2026-04-08 09:25:25 -05:00
Thaddeus Crews ad46310dd5 Merge pull request #114556 from jgill88/gh-11698
Add ping-pong playback support to SpriteFrames / AnimatedSprite2D / AnimatedSprite3D
2026-04-07 18:21:36 -05:00
Thaddeus Crews 376b3b041e Merge pull request #118080 from mihe/less-transform-notifications
Only propagate physics server transforms when different
2026-04-03 11:52:19 -05:00
Mikael Hermansson f6da6bf1f3 Only propagate physics server transforms when different 2026-04-01 18:14:58 +02:00
Qbieshay 158d8784c3 Add parameter to request_process_time to have particle process without
emission.

Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
Co-authored-by: Hugo Locurcio <hugo.locurcio@hugo.pro>
2026-03-27 11:57:08 +01:00
Josh Gill d4d8b781be Add ping-pong playback support to SpriteFrames / AnimatedSprite2D / AnimatedSprite3D 2026-03-23 22:32:29 -07:00
Rémi Verschelde 1d638eaf41 Merge pull request #115253 from bruvzg/prop_helper_help
[Editor] Generate and display documentation for the properties generated by `PropertyListHelper`.
2026-03-23 22:33:53 +01:00
Rémi Verschelde 8d0b238727 Merge pull request #117655 from pkowal1982/frame_duration
Call stop after setting new sprite frames
2026-03-23 12:58:09 +01:00
Paweł f7523827cd Call stop after setting new sprite frames 2026-03-19 21:59:33 +01:00
Thaddeus Crews a74ec70626 Merge pull request #117334 from clayjohn/polygon2d-update
Add fast path to Polygon2D
2026-03-19 10:19:54 -05:00
Rémi Verschelde 98868393cc Style: Enforce #include validation hook 2026-03-18 10:41:59 +01:00
Pāvels Nadtočajevs 2c2ed8ddb5 [Editor] Generate and display documentation for the properties generated by PropertyListHelper. 2026-03-18 11:26:03 +02:00
Rémi Verschelde e33e98a26f Style: Apply clang-format grouping rules 2026-03-17 20:11:01 +01:00
clayjohn 083d46af71 Add fast path to Polygon2D
This saves a huge amount of time when animating vertices of a Polygon2D manually
2026-03-11 10:49:55 -07:00
Rémi Verschelde 8028b65442 Remove unused includes in scene with clangd-tidy 2026-03-10 16:40:00 +01:00
Rémi Verschelde 2dd1f4ef60 Decouple node.h from scene_tree.h, minimize its other includes 2026-03-05 13:54:46 +01:00
Rémi Verschelde 18edfa5245 Explicitly include scene_tree.h where used
Pre-requisite before removing `scene_tree.h` from `node.h`
which has cascading consequences on most of the codebase.
2026-03-05 10:43:25 +01:00
Thaddeus Crews 98e6b3c460 Merge pull request #116956 from KoBeWi/missingmesh
Add configuration warning for missing Mesh
2026-03-04 14:32:31 -06:00
Rémi Verschelde eabb9a63d4 Rename callable_method_pointer.h to callable_mp.h and include it explicitly
This allows removing it from `class_db.h`, significantly reducing the amount of files
that include it transitively.

Also includes some include cleanup in `control.h` and `rich_text_label.h` done while
ensure they don't depend on `callable_mp`.
2026-03-04 16:23:23 +01:00
Rémi Verschelde 765362b033 Explicitly include core/config/engine.h where used 2026-03-04 10:17:10 +01:00
Rémi Verschelde f332faf46b Explicitly include core/os/os.h where used 2026-03-04 09:54:10 +01:00
Rémi Verschelde 8c0f175c94 Decouple RenderingServer from as much of the codebase as possible
Notably decouples it from:
- AccessibilityServer
- DisplayServer
- Viewport
- Window
2026-03-03 12:48:07 +01:00
kobewi 75f0e931e2 Add configuration warning for missing Mesh 2026-03-02 14:00:26 +01:00
Pāvels Nadtočajevs 1306221592 Move accessibility methods/enums from DisplayServer to the AccessibilityServer dedicated singleton. 2026-03-02 13:48:29 +02:00
Thaddeus Crews e380a41752 Style: Add class_db.h includes explicitly 2026-02-26 15:50:28 -06:00
Rémi Verschelde cb9b4cff90 Decouple MeshStorage from RenderingServer
By moving RS::SurfaceData and RS::MeshInfo to RenderingServerTypes.

This notably allows removing RS dependency from `mesh.h`.
2026-02-25 20:17:28 +01:00
Rémi Verschelde f5a290ac46 Move RenderingServer enums to a dedicated RenderingServerEnums (RSE) namespace
A number of headers in the codebase included `rendering_server.h` just for
some enum definitions. This means that any change to `rendering_server.h` or
one of its dependencies would trigger a massive incremental rebuild.

With this change, we decouple a number of classes from `rendering_server.h`,
greatly speeding up incremental rebuilds for that area.

On my machine, this reduces incremental compilation time after an edit of
`rendering_server.h` by 60s (from 2m57s).
2026-02-25 19:43:03 +01:00
kobewi 6f86914f55 Cleanup _validate_property() implementations 2026-02-23 15:05:25 +01:00
Lukas Tenbrink d6540e4aa7 Add move semantics to RBMap and RBSet. Make copy constructors explicit. 2026-02-20 20:47:15 +01:00
Thaddeus Crews 46729d4b5e Merge pull request #116430 from bruvzg/l2os
Apply viewport oversampling to Line2D
2026-02-18 12:04:31 -06:00
Pāvels Nadtočajevs 4c0de4f538 Apply viewport oversampling to Line2D 2026-02-18 14:34:36 +02:00
Rémi Verschelde ad4b910a10 Minimize include dependencies of display_server.h
- Removes `native_menu.h` dependency from `display_server.h`.
  It's now forward-declared in all DisplayServer implementations and should
  be included in the .cpp's.
- Removes some unused `rb_set.h` and `rb_map.h` dependencies, which leads to
  having to include them explicitly in half the scene and editor codebase...
  which shows how much we depend on `display_server.h`.
- Forward-declare `input_event.h`, so now we need only `keyboard.h`.
2026-02-17 19:45:31 +01:00
Lukas Tenbrink c9249346c4 Change HashSet copy constructor from implicit to explicit. 2026-02-16 23:10:33 +01:00
Thaddeus Crews ba5a0758e9 Revert "Change curve range for particle multipliers"
This reverts commit c6021f1e5b.
2026-02-10 09:58:58 -06:00
Thaddeus Crews c44b01cd1f Merge pull request #104736 from szunami/master
Add one-way collision direction for CollisionShape2Ds
2026-02-10 08:29:38 -06:00
Lukas Tenbrink c5df0cb82b Don't right-align escaped newlines, e.g. for #define. This has previously led to long diffs in the commit history. 2026-02-04 19:31:28 +01:00
Sam Szuflita 967c0a2650 Add one-way collision direction for CollisionShape2Ds 2026-02-02 13:12:00 -05:00
Rémi Verschelde 63c78e684b Merge pull request #114165 from KoBeWi/static
Use actual class names in resource type hints
2026-02-02 10:10:24 +01:00
Rémi Verschelde 429750f60b Merge pull request #115093 from Ivorforce/hashmap-explicit-copy
Change copy constructors of `HashMap` and `AHashMap` from implicit to explicit
2026-01-31 22:50:51 +01:00
kobewi f7b9703cbd Use actual class names in resource type hints 2026-01-29 21:07:56 +01:00
Lukas Tenbrink 72b281d41e Remove a few includes of curve.h, texture.h and resource_loader.h + resource_saver.h. 2026-01-29 15:59:29 +01:00
Nintorch eb019511ed Optimize files that #include input.h header 2026-01-28 14:21:00 +05:00
Lukas Tenbrink 1825e89787 Change copy constructors of HashMap and AHashMap from implicit to explicit. 2026-01-21 13:01:23 +01:00
kleonc 5a275eae38 Preserve winding order for transformed tiles' navigation polygons 2026-01-08 19:41:56 +01:00