summaryrefslogtreecommitdiff
path: root/scene/2d/cpu_particles_2d.cpp
AgeCommit message (Collapse)Author
2023-01-10Merge pull request #70716 from ↵Rémi Verschelde
Calinou/particles-tweak-animation-offset-property-hint Tweak particles animation offset property hint to allow more precise values
2023-01-05One Copyright Update to rule them allRémi Verschelde
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".
2022-12-29Add safety-checks before some servers `free()`Adam Scott
2022-12-29Tweak particles animation offset property hint to allow more precise valuesHugo Locurcio
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-10-07Fix MSVC warnings, rename shadowed variables, fix uninitialized values, ↵bruvzg
change warnings=all to use /W4.
2022-09-19Change return type of `get_configuration_warnings` to `PackedStringArray`Marc Gilleron
2022-09-02Rename `or_lesser` range property hint to `or_less`Hugo Locurcio
"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-08-30Rename Curve/Curve2D/Curve3D/Gradient `interpolate()` to `sample()`Hugo Locurcio
"sampling" is a more accurate term than "interpolating" for what's happening when using that function.
2022-08-29Rename `CanvasItem.update()` to `queue_redraw()`Micky
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-26Merge pull request #64367 from Mickeon/rename-var-to-strRémi Verschelde
Rename `str2var` to `str_to_var` and similar
2022-08-26Rename `str2var` to `str_to_var` and similarMicky
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-26Rename ParticlesMaterial to ParticleProcessMaterialMicky
Also affects their file names, related classes and documentation.
2022-08-22Make `_validate_property` a multilevel methodYuri Sizov
2022-08-02Use global coordinates for particles by defaultHugo Locurcio
Particles won't move or rotate anymore with the node (or its parents) by default. This new default behavior is generally more suited to most use cases. Local coordinates can still be enabled on a per-node basis. This affects both 2D and 3D particles, and both CPU and GPU-based particles.
2022-07-03Particles: Fix missing configuration warning updatesRémi Verschelde
Fixes #33488.
2022-06-18Fix `CPUParticles2D.emission_shape` enum hintkleonc
2022-06-11Add suffixes to all nodes and resourcesFireForge
2022-05-19Use suffixes for units in nodes and resourcesAaron Franke
2022-05-03Rename Basis get_axis to get_column, remove redundant methodsAaron Franke
2022-04-29Rename Transform2D "elements" to "columns"Aaron Franke
2022-04-24correct initial cpu particle velocityRedHeadphone
2022-03-28String: Remove TTR and DTR defines in non-tools buildRémi Verschelde
This ensures we don't use TTR in runtime code, as it's specifically meant to source translations for the editor.
2022-03-18Merge pull request #55399 from RPicster/particlesmaterial-sphere-emittershapeRémi Verschelde
ParticleMaterial: Sphere emission shape emitting from the volume.
2022-02-15Use `switch` consistently in `_notification` (`scene` folder)Rémi Verschelde
2022-01-12Use List Initializations for Vectors.Anilforextra
2022-01-03Update copyright statements to 2022Rémi Verschelde
Happy new year to the wonderful Godot community!
2021-12-10Merge pull request #55263 from RPicster/ParticleMaterial-random-start-colorRémi Verschelde
2021-12-09Add a double-precision editor build to CIAaron Franke
2021-12-06Fixed sphere emission shape to emit particles in a spheres volume and added ↵Raffaele Picca
"Sphere Surface" to keep the old behaviour.
2021-12-03Random initial color parameter for ParticleMaterialRaffaele Picca
Works with 2D and 3D GPU Particles
2021-11-26Fixed texture animation speed when using random lifetime ( Particle2D gpu + ↵Raffaele Picca
cpu) as mentioned here: https://github.com/godotengine/godot/issues/54993
2021-11-07Rename `GradientTexture` to `GradientTexture1D`Andrii Doroshenko (Xrayez)
1. Explicit and unambiguous when comparing to `GradientTexture2D` 2. Consistent with other class names where 1D is used in the engine.
2021-09-24Merge pull request #52430 from AnilBK/vector2-replacementsRémi Verschelde
2021-09-23Construct values only when necessary.Anilforextra
2021-09-07Use builtin Vector2 functions for calculation of angles.Anilforextra
.
2021-08-22moved particle parameters to minmax and split scale axisQbieShay
This commit adds quite a chunk of modifications to particles - particle (value + randomness) now use min and max instead - passing a curveXYZtexture is now possible and will scale particles per-axis - CPUParticle3D have an optional parameter to split the scale curve per-axis
2021-08-13Fix some unnecessary includesAaron Franke
2021-08-09Some work on double supportAaron Franke
2021-08-09Use doubles for time in many other placesAaron Franke
2021-07-04Fix color properties of particle nodes/materialHendrik Brucker
2021-07-01Use PROPERTY_USAGE_NONE instead of 0 for no property usageAaron Franke
Also use const more often.
2021-06-30Fix editor suffixes and degrees conversionreduz
* Functions to convert to/from degrees are all gone. Conversion is done by the editor. * Use PROPERTY_HINT_ANGLE instead of PROPERTY_HINT_RANGE to edit radian angles in degrees. * Added possibility to add suffixes to range properties, use "min,max[,step][,suffix:<something>]" example "0,100,1,suffix:m" * In general, can add suffixes for EditorSpinSlider Not covered by this PR, will have to be addressed by future ones: * Ability to switch radians/degrees in the inspector for angle properties (if actually wanted). * Animations previously made will most likely break, need to add a way to make old ones compatible. * Only added a "px" suffix to 2D position and a "m" one to 3D position, someone needs to go through the rest of the engine and add all remaining suffixes. * Likely also need to track down usage of EditorSpinSlider outside properties to add suffixes to it too.
2021-04-27Core: Drop custom `copymem`/`zeromem` definesRémi Verschelde
We've been using standard C library functions `memcpy`/`memset` for these since 2016 with 67f65f66391327b2967a20a89c3627e1dd6e84eb. There was still the possibility for third-party platform ports to override the definitions with a custom header, but this doesn't seem useful anymore.
2021-04-11Use Array for node configuration warningsNathan Franke
Previously, the warnings were passed as a string and delimitation of which were hard coded at each implementation.
2021-03-19Use real_t in non-physics 2D nodesAaron Franke
2021-02-28Refactored cpu_particles_2d.cpp _notification MethodKyle
Refactors the _notification method in cpu_particles_2d.cpp to use a switch statement for readability and to bring it inline with other classes like node.cpp and timer.cpp.
2021-02-10Removed _change_notifyreduz
-For inspector refresh, the inspector now detects if a property change by polling a few times per second and then does update the control if so. This process is very cheap. -For property list refresh, a new signal (property_list_changed) was added to Object. _change_notify() is replaced by notify_property_list_changed() -Changed all objects using the old method to the signal, or just deleted the calls to _change_notify(<property>) since they are unnecesary now.
2021-02-10Make Servers truly Thread Safereduz
-Rendering server now uses a split RID allocate/initialize internally, this allows generating RIDs immediately but initialization to happen later on the proper thread (as rendering APIs generally requiere to call on the right thread). -RenderingServerWrapMT is no more, multithreading is done in RenderingServerDefault. -Some functions like texture or mesh creation, when renderer supports it, can register and return immediately (so no waiting for server API to flush, and saving staging and command buffer memory). -3D physics server changed to be made multithread friendly. -Added PhysicsServer3DWrapMT to use 3D physics server from multiple threads. -Disablet Bullet (too much effort to make multithread friendly, this needs to be fixed eventually).
2021-02-07Initialize class variables with default values in scene/ [1/2]Rafał Mikrut
2021-02-03Merge pull request #45496 from Chaosus/fix_particlesRémi Verschelde
Fix particles not properly updated by their lifetime