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
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
Thaddeus Crews
e380a41752
Style: Add class_db.h includes explicitly
2026-02-26 15:50:28 -06: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
Thaddeus Crews
ba5a0758e9
Revert "Change curve range for particle multipliers"
...
This reverts commit c6021f1e5b .
2026-02-10 09:58:58 -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
kobewi
f7b9703cbd
Use actual class names in resource type hints
2026-01-29 21:07:56 +01:00
aXu-AP
c6021f1e5b
Change curve range for particle multipliers
...
Fixes #91404
Curves are applied as a multiplier, so ranges [-1, 1] or [0, 1] make much more sense than ranges like [-360, 360] or [0, 100]. The actual range is selected with separate min and max parameters.
2025-12-03 20:47:40 -06:00
Thaddeus Crews
3d6ad3f806
Merge pull request #94929 from StamesJames/emission-shape-ring-for-2d
...
Add emission shape ring for CPUParticles2D
2025-11-10 08:20:16 -06:00
Aaron Franke
9fbf5808a0
Rename server "free" functions to "free_rid" to match exposed API
2025-09-30 16:52:25 -07:00
Benny Smit
eaf9e7ce22
Add emission shape ring for CPUParticles2D
...
Particles will be emitted in the area of a ring parameterized by its
outer and inner radius. The distribution is uniform across the area.
2025-08-26 15:09:05 +02:00
aaronp64
7f60546f05
Fix CPUParticles2D repeatedly scaling particles with 0 velocity and Align Y
...
CPUParticles2D with Align Y turned on would update particles' transforms based on the velocity when velocity was non-zero, but would not set the transform for zero velocity. This left the transfrom value from the previous call, which may have already been scaled. In this case, each call to _particles_process would apply the scale again, causing the particle to repeatedly grow (or shrink for scales < 1.0).
Updated the Align Y logic to always normalize the transform values before scale is applied.
2025-07-09 11:09:37 -04:00
Qbieshay
b93f6fa1ba
Fix particles resetting properties when emitting is toggled
2025-06-24 12:16:42 +02:00
LuoZhihao
8ba4656ea3
Compile out editor-only logic within validate_property in games
2025-06-12 12:54:19 +08:00
Thaddeus Crews
94282d88f9
Core: Use Math namespace for constants
2025-04-10 16:29:30 -05:00
Yufeng Ying
4f4031a675
Replace size() == 0 with is_empty().
2025-04-02 19:18:43 +08:00
Thaddeus Crews
c8cd979552
Merge pull request #103966 from rburing/fti_2d_particles_oops
...
CPUParticles2D: Fix physics interpolation after entering tree with `emitting = false`
2025-03-12 10:31:47 -05:00
Thaddeus Crews
e54a4408ad
Merge pull request #102249 from Arnklit/particles2d-emission-shapes
...
Add emission shape gizmos to Particles2D
2025-03-11 14:01:00 -05:00
Ricardo Buring
5892ddbe24
CPUParticles2D: Fix fixed timestep interpolation after entering tree with emitting = false
...
This line was left over from earlier testing; the intended functionality
is now contained in _refresh_interpolation_state().
2025-03-11 12:12:32 +01:00
Qbieshay
419e5c40fa
Fix particle not re-randomizing every emission
2025-02-20 19:25:05 +01:00
Kasper Arnklit Frandsen
03812fde8a
Add emission shape gizmos to Particles2D
2025-02-18 11:29:29 +00:00
Qbieshay
2f3f6f69d9
Fix seed not randomizing for particles. Fix seed being stored when fixed seed is off
2025-02-04 12:17:21 +01:00
Ricardo Buring
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
Qbieshay
c8b0509b7c
Fixed cpuparticles randomness regression caused by #92089
2025-01-21 13:23:55 +01:00
Rémi Verschelde
763e8ceb3b
Merge pull request #100227 from clayjohn/particles-texture
...
Move texture property back to the top level of the Particles inspector.
2025-01-13 20:21:38 +01:00
Rémi Verschelde
133db1fd60
Merge pull request #92089 from QbieShay/qbe/particle_seek
...
Implement particle seek request and seed options.
2025-01-13 20:21:28 +01:00
QbieShay
e9eb0b6082
Implemented tools around particles seed randomization.
...
The purpose of this code is to expose the necessary
functions for users and engine devs to develop tooling
for properly timing and seeking inside particles.
Co-authored-by: Hugo Locurcio <hugo.locurcio@hugo.pro >
Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com >
Co-authored-by: Tomasz Chabora <kobewi4e@gmail.com >
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com >
2025-01-11 16:31:24 +01:00
Aarni Koskela
f134769506
Fix various typos
...
* Add TODO notes for typos that should be fixed for 5.0
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com >
2025-01-08 14:47:42 +02:00
A Thousand Ships
a1846b27ea
Improve use of Ref.is_null/valid
...
Use `is_null` over `!is_valid` and vice versa.
2024-12-23 16:35:02 -05:00
Yufeng Ying
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
clayjohn
f2a993aa1d
Reduce slider range for Particles preprocess to discourage setting a preprocess time of 10 minutes
2024-12-13 11:36:36 -08:00
clayjohn
4c0fb2110b
Move texture property back to the top level of the Particles inspector.
...
This property needs to be set before the particles can be used. It should not be hidden away in an unrelated sub menu
2024-12-09 16:13:24 -08:00
A Thousand Ships
f6ea6cdb67
Fix some invalid int property ranges
...
* `HeightMapShape3D` had ranges configured for `float` instead of `int`
* Particles had `amount` that used `exp` which is not supported, added
note
2024-11-23 19:17:29 +01:00
Silc Lizard (Tokage) Renew
761a20f7a7
Add hint for oneshot & warning when it will be updated continuously
2024-11-11 01:12:45 +09:00
Leon Stansfield
48a54cb62f
Adjusted listings of parameters displayed in inspector to be consistent accross all particle types
2024-08-04 15:33:31 +01:00
kobewi
413c11357d
Use Core/Scene stringnames consistently
2024-05-13 23:41:07 +02:00
kobewi
a262d2d881
Add shorthand for using singleton string names
2024-05-11 18:53:08 +02:00
QbieShay
1d81068be7
Fixed INSTANCE_CUSTOM.w not being assigned correctly in CPUParticles 2D and 3D
2024-04-01 14:00:40 +02:00
Rémi Verschelde
21f0529aa9
Revert "Update Node::get_configuration_warnings signature"
...
This reverts commit d3852deaa4 .
2024-02-17 19:03:21 +01:00
RedMser
d3852deaa4
Update Node::get_configuration_warnings signature
2024-02-08 23:05:20 +01:00
rsburke
76377230ac
Fixed CPUParticle tangential force to match GPUParticle implimentation
2023-11-07 08:02:43 -05:00
kobewi
de4a3fa151
Unify and streamline connecting to Resource changes
2023-07-17 19:35:57 +02:00
Hendrik Brucker
7e21eb7e00
Extract and reorganize texture resource classes
2023-07-14 20:04:21 +02:00
HolonProduction
a1c0d206e8
Add finished signal to CPUParticles
2023-07-12 13:45:02 +02:00
Ninni Pipping
dcd2b883eb
Use NULL instead of COND checks when appropriate
...
Restricted to scene
2023-06-10 08:56:30 +02:00
Hugo Locurcio
fc4ec42a09
Increase precision in particle damping properties in the editor
2023-06-07 15:26:02 +02:00
clayjohn
821917ba9f
Use angle_rand to calculate base_angle in particles process material
2023-04-13 15:10:47 -07:00
Albin
82b90c0e08
Remove visual limit for damping in CPUParticles
...
Issue #56324 notes that you may can't set the damping property of
CPUParticles2D to anything more that 100 in the editor inspector
while you may set it to anything in code, this is considered a bug and
changed in this commit
2023-02-19 12:47:34 +01:00