1
0
mirror of https://github.com/godotengine/godot.git synced 2025-11-04 12:00:25 +00:00

170 Commits

Author SHA1 Message Date
Aaron Franke
9fbf5808a0 Rename server "free" functions to "free_rid" to match exposed API 2025-09-30 16:52:25 -07: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
Rémi Verschelde
91713ced81 Merge pull request #70716 from Calinou/particles-tweak-animation-offset-property-hint
Tweak particles animation offset property hint to allow more precise values
2023-01-10 11:01:14 +01:00
Rémi Verschelde
d95794ec8a 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".
2023-01-05 13:25:55 +01:00
Adam Scott
ea33001b95 Add safety-checks before some servers free() 2022-12-29 16:23:38 -05:00
Hugo Locurcio
8df24835e0 Tweak particles animation offset property hint to allow more precise values
Values above 1.0 (or below 0.0) are no longer allowed, as these make
no visual difference whatsoever (and may cause particles not to appear
at all if looping is disabled).
2022-12-29 22:15:17 +01:00
bruvzg
0103af1ddd Fix MSVC warnings, rename shadowed variables, fix uninitialized values, change warnings=all to use /W4. 2022-10-07 11:32:33 +03:00
Marc Gilleron
aed3822a93 Change return type of get_configuration_warnings to PackedStringArray 2022-09-19 16:43:15 +01:00
Hugo Locurcio
f7292dbeb3 Rename or_lesser range property hint to or_less
"less" should be used for quantity, rather than "lesser".

Existing scripts that use `or_lesser` in `_get_property_list()`
will need to be updated to account for this change.
2022-09-02 19:08:20 +02:00
Hugo Locurcio
ae18928748 Rename Curve/Curve2D/Curve3D/Gradient interpolate() to sample()
"sampling" is a more accurate term than "interpolating" for what's
happening when using that function.
2022-08-30 22:08:38 +02:00
Micky
e31bb5ffeb Rename CanvasItem.update() to queue_redraw()
Affects a lot of classes. Very thoroughly checked signal connections and deferred calls to this method, add_do_method/add_undo_method calls, and so on.

Also renames the internal `_update_callback()` to `_redraw_callback()` for consistency.

Just a few comments have also been changed to say "redraw".

In CPUParticles2D, there was a private variable with the same name. It has been renamed to `do_redraw`.
2022-08-29 14:59:47 +02:00
Rémi Verschelde
f9f2446972 Merge pull request #64367 from Mickeon/rename-var-to-str
Rename `str2var` to `str_to_var` and similar
2022-08-26 23:04:06 +02:00
Micky
59e11934d8 Rename str2var to str_to_var and similar
Affects the Math class, a good chunk of the audio code, and a lot of other miscellaneous classes, too.

- `var2str` -> `var_to_str`
- `str2var` -> `str_to_var`
- `bytes2var` -> `bytes_to_var`
- `bytes2var_with_objects` -> `bytes_to_var_with_objects`
- `var2bytes` -> `var_to_bytes`
- `var2bytes_with_objects` -> `var_to_bytes_with_objects`
- `linear2db` -> `linear_to_db`
- `db2linear` -> `db_to_linear`
- `deg2rad` -> `deg_to_rad`
- `rad2deg` -> `rad_to_deg`

- `dict2inst` -> `dict_to_inst`
- `inst2dict` -> `inst_to_dict`
2022-08-26 14:58:22 +02:00
Micky
723bf85145 Rename ParticlesMaterial to ParticleProcessMaterial
Also affects their file names, related classes and documentation.
2022-08-26 02:53:08 +02:00