Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Squashed commit of FXparticleSystem #3823

Draft
wants to merge 24 commits into
base: 0_15
Choose a base branch
from

Commits on Mar 13, 2024

  1. Configuration menu
    Copy the full SHA
    da726c5 View commit details
    Browse the repository at this point in the history

Commits on Mar 17, 2024

  1. FX update

    - changed firework exhaust to low saturation
    - updated rotating particle spray animation
    DedeHai committed Mar 17, 2024
    Configuration menu
    Copy the full SHA
    7abbac5 View commit details
    Browse the repository at this point in the history

Commits on Mar 19, 2024

  1. Cleanup & Bugfixes plus major improvements for ESP8266

    -added particle reductions for ESP8266 for all FX
    -Removed collisions from Particle Perlin Noise FX, slows things down and does not contribute to a better effect experience
    -lots of optimizations for ESP8266, all FX now work (at least on 160MHz but still slow)
    -Some bugfixes
    -removed unused variables to make compiler happy
    DedeHai committed Mar 19, 2024
    Configuration menu
    Copy the full SHA
    6d70b6a View commit details
    Browse the repository at this point in the history

Commits on Mar 20, 2024

  1. Configuration menu
    Copy the full SHA
    eebabb2 View commit details
    Browse the repository at this point in the history

Commits on Mar 21, 2024

  1. Particle FX Rename, default parameter tuning, bugfix

    -Now shorter names, 'PS' in front to filter the list
    -Tuned default parameters to make them look better by default
    -Bugfix in particle system (removed duplicate application of velocity)
    -reduced PS fire RAM usage (less particles, less base flames, no noticeable difference)
    -some variable renaming
    DedeHai committed Mar 21, 2024
    Configuration menu
    Copy the full SHA
    6c75757 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    e06a95f View commit details
    Browse the repository at this point in the history

Commits on Mar 25, 2024

  1. Big update: lots of little fixes and big speed boost on fire animation

    -fixed fire burning more on the left side
    -fixed crash in particle attractor
    -added many improvements for ESP8266
    -improved particle rendering efficiency
    -efficiency improvements in general
    -changed the way fire is rendered, now more than 2x faster
    -re-tuned fire to new rendering, also seperately tuned it for ESP8266
    -changed all random8() to random16() as it runs faster on ESPs
    -some reformating
    -some renaming of effect stuff
    -fine tuning on falling particle effect
    -improvements to collision handling (faster and better)
    -added a (temporary) function for speed tests, will be removed again
    DedeHai committed Mar 25, 2024
    Configuration menu
    Copy the full SHA
    6564814 View commit details
    Browse the repository at this point in the history
  2. bugfix

    DedeHai committed Mar 25, 2024
    Configuration menu
    Copy the full SHA
    add7051 View commit details
    Browse the repository at this point in the history
  3. updated PS Fireworks with many changes and fine-tuning of parameters

    -removed spiral explosions
    -added more versatility to circular explosions
    -removed user selectable amount of rockets
    -tuned explosion size of circular explosions to match random explosions (more or less, may need improvement)
    -changed order of sliders in volcano animation
    DedeHai committed Mar 25, 2024
    Configuration menu
    Copy the full SHA
    848d3d0 View commit details
    Browse the repository at this point in the history

Commits on Apr 4, 2024

  1. merge commit of dev branch, reworked the whole system into a class

    - put particle system in a class, went through the whole code, rewrote many of the functions
    - added local rendering buffer (renders to buffer in heap)
    - added fast and accurate color-add function
    - converted all FX to the class and improved all of them with parameter tuning and new features
    - fixed animation transitions with proper pointer setting in each FX call
    - fixed collisions
    - changed max number of particles and sprays based on some ram calculations
    - countless bugfixes
    - still a lot of debug stuff in the code, badly needs a cleanup
    DedeHai committed Apr 4, 2024
    Configuration menu
    Copy the full SHA
    a692563 View commit details
    Browse the repository at this point in the history

Commits on Apr 30, 2024

  1. Added more rendering options and fixed countless bugs

    Additions:
    - Motion blurring on local buffer
    - Blurring / smearing on local buffer
    - Fast color scaling function
    - Blurring of individual particles
    - Advanced settings for particles (forces, render size)
    - Wall roughness setting for randomized wall bounce
    - Ghost Rider FX implementation for PS
    Changes:
    - Transferred all existing FX to PS class
    - Improvements on most FX, also nicer rendering with blurring
    - Improvements in PS Fire FX
    - Added larger size particle rendering to Ballpit FX
    - Added random size Particle rendering to Ballpit FX (set to size 255)
    DedeHai committed Apr 30, 2024
    Configuration menu
    Copy the full SHA
    a0452bb View commit details
    Browse the repository at this point in the history

Commits on May 1, 2024

  1. major bugfix, hopefully resolves all crashes

    - uncought out of bounds memory access in rendering and a bug in pointer assignment caused many hard to track down crashes. should be fixed now.
    - some minor fixes as well
    DedeHai committed May 1, 2024
    Configuration menu
    Copy the full SHA
    d01542d View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    5f13fc3 View commit details
    Browse the repository at this point in the history

Commits on May 5, 2024

  1. Squashed commit of the following:

    commit ba337ab
    Merge: 0b45f66 3f9a6ca
    Author: Damian Schneider <[email protected]>
    Date:   Sun May 5 21:57:32 2024 +0200
    
        Merge remote-tracking branch 'upstream/0_15' into FXparticleSystem
    
    commit 0b45f66
    Author: Damian Schneider <[email protected]>
    Date:   Sun May 5 21:56:19 2024 +0200
    
        bugfix, sprayEmit() would not return and get stuck
    
        - forgot default return value...
    
    commit 2558156
    Author: Damian Schneider <[email protected]>
    Date:   Sun May 5 11:19:02 2024 +0200
    
        code cleanup, removed some unused stuff
    
    commit ac5399a
    Author: Damian Schneider <[email protected]>
    Date:   Sun May 5 08:18:43 2024 +0200
    
        Added advanced particle size control and new Blob FX
    
        - advanced size control allows for growing, shrinking, wobbling
        - render function updated to support asymmetric rendering
        - various code improvements and bugfixes
        - some FX parameter tuning
        - bugfix: removed sli() sei() calls in render function that caused random flickering on S3/C3 (may add that back in but only for ESP8266 to reduce fragmentation)
        - removed some debug / test stuff
    
    commit 3f9a6ca
    Author: Frank <[email protected]>
    Date:   Sat May 4 14:34:23 2024 +0200
    
        AR: fix for arduinoFFT 2.x API
    
        in contrast to previous 'dev' versions, the storage for windowWeighingFactors is now managed internally by the arduinoFFT object.
    
    commit cd5494f
    Author: Frank <[email protected]>
    Date:   Sat May 4 13:36:56 2024 +0200
    
        AR pin config: SCK == 1 --> PDM microphone
    
    commit 5ab1b14
    Merge: fa76431 379f181
    Author: Blaž Kristan <[email protected]>
    Date:   Fri May 3 23:25:36 2024 +0200
    
        Merge pull request Aircoookie#3946 from freakintoddles2/0_15
    
        Adds an API parameter to allow the user to skip to the next preset in a playlist at any time
    
    commit 379f181
    Author: Todd Meyer <[email protected]>
    Date:   Fri May 3 11:51:47 2024 -0700
    
        Further simplification
    
    commit dd19aa6
    Author: Todd Meyer <[email protected]>
    Date:   Fri May 3 08:47:14 2024 -0700
    
        Forgot F[], added it
    
    commit 6df3b41
    Author: Todd Meyer <[email protected]>
    Date:   Fri May 3 08:30:37 2024 -0700
    
        Updated based on more feedback
    
    commit fa76431
    Author: Blaz Kristan <[email protected]>
    Date:   Fri May 3 16:08:20 2024 +0200
    
        Changelog update
    
    commit 6504fb6
    Author: Blaz Kristan <[email protected]>
    Date:   Fri May 3 15:46:16 2024 +0200
    
        Minor MQTT optimisation.
    
    commit 2ff49cf
    Author: Blaz Kristan <[email protected]>
    Date:   Fri May 3 15:45:15 2024 +0200
    
        Fix for Aircoookie#3952
        - included IR optimisations & code rearrangement
    
    commit fa1aa1f
    Merge: 85b95a2 22f6128
    Author: Blaž Kristan <[email protected]>
    Date:   Fri May 3 09:56:14 2024 +0200
    
        Merge pull request Aircoookie#3944 from paspiz85/pas4
    
        Using brightness in analog clock overlay
    
    commit 85b95a2
    Merge: 4df936a 736a8b1
    Author: Blaž Kristan <[email protected]>
    Date:   Fri May 3 09:53:00 2024 +0200
    
        Merge pull request Aircoookie#3945 from w00000dy/Webpage-shortcuts
    
        Add Webpage shortcuts and Fix resizing bug
    
    commit 5e38039
    Author: Todd Meyer <[email protected]>
    Date:   Thu May 2 14:36:18 2024 -0700
    
        Updated based on more feedback
    
    commit 4df936a
    Author: Blaz Kristan <[email protected]>
    Date:   Thu May 2 10:33:10 2024 +0200
    
        Fix for unfortunate prior CRLF coversion.
    
    commit 736a8b1
    Author: Blaz Kristan <[email protected]>
    Date:   Thu May 2 10:31:50 2024 +0200
    
        Fix for rotating tablet into PC mode.
    
    commit 22f6128
    Author: Pasquale Pizzuti <[email protected]>
    Date:   Thu May 2 09:04:07 2024 +0200
    
        using global brightness
    
    commit db475b6
    Author: freakintoddles2 <[email protected]>
    Date:   Wed May 1 10:09:17 2024 -0700
    
        Update playlist.cpp
    
    commit 6daf7f6
    Author: freakintoddles2 <[email protected]>
    Date:   Wed May 1 10:07:52 2024 -0700
    
        Update wled.cpp
    
        reworked based on PR feedback
    
    commit 16086c0
    Author: freakintoddles2 <[email protected]>
    Date:   Wed May 1 10:05:26 2024 -0700
    
        Update wled.h
    
        reworked based on feedback from original PR
    
    commit e88c81a
    Author: freakintoddles2 <[email protected]>
    Date:   Wed May 1 10:04:02 2024 -0700
    
        Update set.cpp
    
        reworked based on feedback
    
    commit a2b9aed
    Author: freakintoddles2 <[email protected]>
    Date:   Wed May 1 10:03:16 2024 -0700
    
        Update playlist.cpp
    
        reworked approach based on feedback
    
    commit caa4fe1
    Author: freakintoddles2 <[email protected]>
    Date:   Wed May 1 10:02:27 2024 -0700
    
        Update json.cpp
    
        reworked approach based on feedback
    
    commit 25fb878
    Author: freakintoddles2 <[email protected]>
    Date:   Wed May 1 10:01:30 2024 -0700
    
        Update fcn_declare.h
    
        reworked approach based on feedback
    
    commit 77167a2
    Author: Damian Schneider <[email protected]>
    Date:   Wed May 1 13:53:59 2024 +0200
    
        Found and fixed crashes, it was wrongly assigned pointers
    
    commit 3527144
    Author: Damian Schneider <[email protected]>
    Date:   Wed May 1 12:08:03 2024 +0200
    
        Fixed another memory / pointer bug, but there is still one left...
    
        -also some minor fixes
    
    commit 06ae14c
    Author: Damian Schneider <[email protected]>
    Date:   Wed May 1 07:07:48 2024 +0200
    
        added 'perpetual' flag to particles
    
    commit a1d6ffa
    Author: freakintoddles2 <[email protected]>
    Date:   Tue Apr 30 16:49:52 2024 -0700
    
        Update json.cpp
    
        adds support for np boolean parameter to skip to next preset
    
    commit 3b89814
    Author: freakintoddles2 <[email protected]>
    Date:   Tue Apr 30 16:33:30 2024 -0700
    
        Update set.cpp
    
        added new NP command to API to allow user to skip to next preset in a playlist. Example use is win&NP in a preset.
    
    commit 071e0be
    Author: freakintoddles2 <[email protected]>
    Date:   Tue Apr 30 16:23:43 2024 -0700
    
        Update fcn_declare.h
    
        Updated to add the optional skipNext bool to handlePlaylist() which allows people to skip to the next preset when desired
    
    commit bed364d
    Author: freakintoddles2 <[email protected]>
    Date:   Tue Apr 30 16:21:40 2024 -0700
    
        Update playlist.cpp
    
        Updated to allow a user to optionally skip to the next preset in the playlist anytime they desire.
    
    commit d2984e9
    Author: Woody <[email protected]>
    Date:   Tue Apr 30 18:57:53 2024 +0200
    
        add Webpage shortcuts, resolves Aircoookie#2362
    
    commit fd9570e
    Author: Pasquale Pizzuti <[email protected]>
    Date:   Tue Apr 30 17:52:35 2024 +0200
    
        using color_fade
    
    commit ff10130
    Author: Woody <[email protected]>
    Date:   Tue Apr 30 16:53:47 2024 +0200
    
        Fix resizing bug
        The bug was that when resizing the window, it always jumped to the Colors tab instead of staying on the currently selected tab.
    
    commit c7d292a
    Author: Pasquale Pizzuti <[email protected]>
    Date:   Tue Apr 30 14:09:12 2024 +0200
    
        using brightness in analog clock overlay
    
    commit 5472f76
    Merge: a6bf5b6 9f99a18
    Author: Damian Schneider <[email protected]>
    Date:   Tue Apr 30 07:50:44 2024 +0200
    
        Merge remote-tracking branch 'upstream/0_15' into FXparticleSystem
    
    commit a6bf5b6
    Author: Damian Schneider <[email protected]>
    Date:   Tue Apr 30 07:41:04 2024 +0200
    
        added walls to ghostride, fixed some bugs
    
    commit 33ede41
    Author: Damian Schneider <[email protected]>
    Date:   Mon Apr 29 19:46:19 2024 +0200
    
        Replaced Ghost Rider FX with PS version
    
        - new FX is kept close to original animation but added more user settings
    
    commit 2e0cb3a
    Author: Damian Schneider <[email protected]>
    Date:   Sun Apr 28 19:29:57 2024 +0200
    
        Fixed some nasty memory bugs, fixed some FX parameters
    
        - fixed memory alignment bug in PS pointer assignment by making sure only multiples of 4 are allowed for particles and sources
        - added saturation back to particle struct, as it was aligned to 10 bytes anyway.
        - fixed a bug where a null pointer could be accessed
        - fixed rendering out of frame particles if buffer allocation failed
        - improvements on ESP8266
    
    commit 3eb94eb
    Merge: 53607d6 8110259
    Author: Damian Schneider <[email protected]>
    Date:   Sun Apr 28 11:30:44 2024 +0200
    
        Merge remote-tracking branch 'upstream/0_15' into FXparticleSystem
    
    commit 53607d6
    Author: Damian Schneider <[email protected]>
    Date:   Sun Apr 28 11:25:57 2024 +0200
    
        added individual size particle rendering plus some fixes
    
        - advanced particles can now be rendered to individual sizes. It is computationally intensive but it works well for up to 15 very large particles and more smaller ones
        - added collision handling for individual sizes (walls and collisions)
        - fixed bugs in particlebox
        - fixed fire not transitioning properly (flickering) when frame skip is active
        - removed 'wraparound' function as it can easily be done by casting to an unsigned and then modulo
        - fixed ballpit particles wandering left and right very fast if wrapX is set
    
    commit 7abc440
    Author: Damian Schneider <[email protected]>
    Date:   Sat Apr 27 13:40:38 2024 +0200
    
        removed zero inits
    
        - removed zero initialisations in FX, segment.data is set to zero by alloc function
    
    commit 54e94dd
    Author: Damian Schneider <[email protected]>
    Date:   Sat Apr 27 13:18:30 2024 +0200
    
        Bugfixes, improvements and added wall roughness setting
    
        - fixed bug in PS fuzzy noise which made it asymmetric for some reason, seems to work better now
        - added particle size option to attractor but had to remove speed setting (now fixed emit speed)
        - some parameter tuning of FX
        - improvements to code size in render function
        - added smear option to blurring (not tested much, may be buggy without smear)
        - speed improvement to caldForce_dv, added zero checking.
    
    commit a22466a
    Merge: 3386a84 004b1c3
    Author: Damian Schneider <[email protected]>
    Date:   Fri Apr 26 08:56:07 2024 +0200
    
        Merge branch 'FXparticleSystem' of https://github.com/DedeHai/WLED into FXparticleSystem
    
    commit 3386a84
    Author: Damian Schneider <[email protected]>
    Date:   Fri Apr 26 08:55:17 2024 +0200
    
        added local render blurring, boosting FPS, work in progress
    
        - changed fast-add function to use pointers
        - added fast-scaling function
        - added simple (but fast) 2D blurring function
        test shows that local blurring of full frame is almost double the speed (40FPS now is 80FPS).
        lots of comments still there
    
    commit 004b1c3
    Merge: e43f3bd e83d3cb
    Author: Damian Schneider <[email protected]>
    Date:   Thu Apr 25 15:50:07 2024 +0200
    
        Merge remote-tracking branch 'upstream/0_15' into FXparticleSystem
    
    commit e43f3bd
    Author: Damian Schneider <[email protected]>
    Date:   Wed Apr 24 17:33:02 2024 +0200
    
        bugfix in wrap function and firwork FX
    
    commit 2e7fbc0
    Author: Damian Schneider <[email protected]>
    Date:   Wed Apr 24 06:39:30 2024 +0200
    
        debugging going on
    
    commit 7b68946
    Author: Damian Schneider <[email protected]>
    Date:   Mon Apr 22 18:52:13 2024 +0200
    
        in the middle of fixing FX to use new PS functions
    
    commit e017814
    Author: Damian Schneider <[email protected]>
    Date:   Sat Apr 20 15:34:16 2024 +0200
    
        added more tests, non compiling at the moment
    
    commit 856527b
    Author: Damian Schneider <[email protected]>
    Date:   Sat Apr 20 12:10:24 2024 +0200
    
        work in progress, added test function to increase particle size, also added wobbling test
    
    commit 4146ff4
    Merge: 50489f7 d126611
    Author: Damian Schneider <[email protected]>
    Date:   Tue Apr 16 19:32:14 2024 +0200
    
        Merge remote-tracking branch 'upstream/0_15' into FXparticleSystem
    
    commit 50489f7
    Author: Damian Schneider <[email protected]>
    Date:   Tue Apr 16 19:29:05 2024 +0200
    
        work in progress, added motion blur and line attracto (non working)
    
    commit f7337b9
    Merge: 5e2dca3 d18f078
    Author: Damian Schneider <[email protected]>
    Date:   Sun Apr 7 13:39:23 2024 +0200
    
        Merge remote-tracking branch 'upstream/0_15' into FXparticleSystem
    
    commit 5e2dca3
    Author: Damian Schneider <[email protected]>
    Date:   Sat Apr 6 07:15:51 2024 +0200
    
        Fixed Speed limit
    
        limiting speed was incorrect, leading to overflows. fixed this.
        also fixed bugs in GEQ, removed some debug stuff, added FPS limit to fire (just en experiment)
    
    commit 0a251ae
    Author: Damian Schneider <[email protected]>
    Date:   Thu Apr 4 17:51:32 2024 +0200
    
        another huge update, many improvements, fine-tune collision, fire and some other FX
    
        -removed classic fire render as palette now looks much better
        -tweaked fire parameters to more awesome
        -added (optional) turbulence to fire using perlin-noise
        -ported spray FX to use PS-class
        -now definitely fixed asymmetrical collision issue: do not use bitshifts on negative numbers!
        -changed piling behaviour of particles, full rework. looks way more natural now and works much better
        -changed bouncing behavour: they now bounce at full diameter, making them stay fully in frame when laying on the floor
        -replaced all relevant bitshifts with divisions for higher accuracy throughout the PS
        -added new modes to particle box FX
        -changed a lot of FX parameters (finetuning)
        -changed all config strings to proper settings (matrix only)
        -fixed newly introduced bugs
        -added speedup/slowdown to vortex FX (aka candy, aka rotating sprays)
        -some renaming
        -fixed bugs… lots of bugs
        -merged rendering functions, removed obsolete stuff
    
    commit 32343ea
    Author: Damian Schneider <[email protected]>
    Date:   Tue Apr 2 20:26:24 2024 +0200
    
        updated fire, added some functions to PS, ported attractor FX
    
        - added turbulance to fire (after hours of fine-tuning) it now looks even more awesome
        - added attractor animation back in and improved it with more functionality
        - fixed the attractor function in the PS
        - renamed FX: 'candy' is now called 'vortex'
        - added new force function to apply a force immediately (and handle the timing in the FX)
        - added update function to PS for size update to handle dynamic segment size change
        - made waterfall width dynamic on segment width
        - removed some debug stuff
        - added #defines for maximum number of particles/sprays
        - updated fire parameter to make it look better on ESP8266
        - some little bugfixes
    
    commit 59f2b9a
    Author: Damian Schneider <[email protected]>
    Date:   Mon Apr 1 19:04:28 2024 +0200
    
        more bugfixes, some animation tuning, added volcano back in
    
        - fixed animation transitions with proper pointer setting in each FX call
        - added color by age setting to particle system
        - maybe fixed collision having a tendency to go to the left
        - fixed bugs in fireworks FX
        - added fire spread width as a slider
        - changed max number of particles and sprays based on some ram calculations
        - some other random fixes
    
    commit 136f40f
    Author: Damian Schneider <[email protected]>
    Date:   Sun Mar 31 17:42:48 2024 +0200
    
        More Bugfixes, more converted FX
    
    commit 5f824c3
    Author: Damian Schneider <[email protected]>
    Date:   Sun Mar 31 09:50:46 2024 +0200
    
        many (many!) bugfixes, added fire FX back in (and improved it a lot) added local renderbuffer for huge speed boost
    
        -lots of bugfixes in Particle system
        -added local rendering buffer (renders to buffer in heap)
        -added fast and accurate color-add function
        -bugfixes in render function
        -added improved 'sticky' particles in collision (unfinished business)
        -added ballpit animation back
        -lots of tweaks to fire FX and fire rendering functions, looks even better now (still unfinished)
        -added palette render option to fire
    
        still many debug print outputs around, needs cleanup at one point
    
    commit 03967a9
    Author: Damian Schneider <[email protected]>
    Date:   Fri Mar 29 20:25:13 2024 +0100
    
        put particle system in a class. work in progress.
    
        another huge update to the particle system.
        went through the whole code, rewrote many of the functions. many improvements over the previous code. fixed many bugs (and even an ancient one in rendering function). spent many hours optimizing the code for speed and usability.
        still a work in progress, debugging is ongoing. more updates to come.
    
    commit 162bdaa
    Merge: c6d5d3e 85a51e6
    Author: Damian Schneider <[email protected]>
    Date:   Sun Mar 24 13:07:57 2024 +0100
    
        Merge remote-tracking branch 'upstream/0_15' into FXparticleSystem
    
    commit c6d5d3e
    Author: Damian Schneider <[email protected]>
    Date:   Sun Mar 24 12:02:55 2024 +0100
    
        updated PS Fireworks with many changes and fine-tuning of parameters
    
        -removed spiral explosions
        -added more versatility to circular explosions
        -removed user selectable amount of rockets
        -tuned explosion size of circular explosions to match random explosions (more or less, may need improvement)
        -changed order of sliders in volcano animation
    
    commit 500b847
    Author: Damian Schneider <[email protected]>
    Date:   Sat Mar 23 20:11:48 2024 +0100
    
        bugfix
    
    commit 35c2157
    Author: Damian Schneider <[email protected]>
    Date:   Sat Mar 23 20:11:23 2024 +0100
    
        Big update: lots of little fixes and big speed boost on fire animation
    
        -fixed fire burning more on the left side
        -fixed crash in particle attractor
        -added many improvements for ESP8266
        -improved particle rendering efficiency
        -efficiency improvements in general
        -changed the way fire is rendered, now more than 2x faster
        -re-tuned fire to new rendering, also seperately tuned it for ESP8266
        -changed all random8() to random16() as it runs faster on ESPs
        -some reformating
        -some renaming of effect stuff
        -fine tuning on falling particle effect
        -improvements to collision handling (faster and better)
        -added a (temporary) function for speed tests, will be removed again
    
    commit 306a850
    Author: Damian Schneider <[email protected]>
    Date:   Thu Mar 21 22:42:45 2024 +0100
    
        slight speed improvements in fire, like 1-2FPS
    
    commit 913e910
    Author: Damian Schneider <[email protected]>
    Date:   Thu Mar 21 15:55:40 2024 +0100
    
        Particle FX Rename, default parameter tuning, bugfix
    
        -Now shorter names, 'PS' in front to filter the list
        -Tuned default parameters to make them look better by default
        -Bugfix in particle system (removed duplicate application of velocity)
        -reduced PS fire RAM usage (less particles, less base flames, no noticeable difference)
        -some variable renaming
    
    commit 7026159
    Author: Damian Schneider <[email protected]>
    Date:   Tue Mar 19 20:17:13 2024 +0100
    
        Cleanup & Bugfixes plus major improvements for ESP8266
    
        -added particle reductions for ESP8266 for all FX
        -Removed collisions from Particle Perlin Noise FX, slows things down and does not contribute to a better effect experience
        -lots of optimizations for ESP8266, all FX now work (at least on 160MHz but still slow)
        -Some bugfixes
        -removed unused variables to make compiler happy
    
    commit ff9d2eb
    Author: Damian Schneider <[email protected]>
    Date:   Sun Mar 17 21:59:42 2024 +0100
    
        FX update
    
        - changed firework exhaust to low saturation
        - updated rotating particle spray animation
    
    commit a56d888
    Author: Damian Schneider <[email protected]>
    Date:   Wed Mar 20 19:39:26 2024 +0100
    
        added rotating GEQ, work in progress
    
        -animation works but sliders are too sensitive. need to adjust the ranges
    
    commit 7991776
    Author: Damian Schneider <[email protected]>
    Date:   Sun Mar 17 15:41:46 2024 +0100
    
        GEQ  FX parameter tuning
    
    commit ecc64ae
    Author: Damian Schneider <[email protected]>
    Date:   Sat Mar 16 11:43:22 2024 +0100
    
        Particle GEQ fixes, it now actually works
    
    commit 87adbed
    Author: Damian Schneider <[email protected]>
    Date:   Fri Mar 15 20:52:47 2024 +0100
    
        added particle GEQ effect (untested)
    
    commit bdfb1a9
    Merge: 3678aa9 7b366d4
    Author: Damian Schneider <[email protected]>
    Date:   Tue Mar 12 21:48:34 2024 +0100
    
        Merge remote-tracking branch 'upstream/0_15' into FXparticleSystem
    
    commit 3678aa9
    Merge: ac09218 88b30e7
    Author: Damian Schneider <[email protected]>
    Date:   Tue Mar 12 21:47:28 2024 +0100
    
        Merge remote-tracking branch 'upstream/0_15' into FXparticleSystem
    
    commit ac09218
    Author: Damian Schneider <[email protected]>
    Date:   Tue Mar 12 20:45:52 2024 +0100
    
        cleanup
    
        removed / added comments
    
    commit 4930cda
    Author: Damian Schneider <[email protected]>
    Date:   Tue Mar 12 20:17:02 2024 +0100
    
        cleanup session
    
        -removed particle box 'rocking boat' (buggy) and replaced with random sloshing.
        -removed comments
        -changed some variables into 32bit for speed boost on ESP32
        -added link to KB at the top of FX.cpp
    
    commit 9c6d6f1
    Author: Damian Schneider <[email protected]>
    Date:   Sun Mar 10 22:35:13 2024 +0100
    
        cleanup
    
        -removed wrap_update function, now integrated into move_update
        -added more 'out of bounds' checking in fire functions, may speed it up a little
    
    commit b99a62f
    Author: Damian Schneider <[email protected]>
    Date:   Fri Mar 8 19:23:52 2024 +0100
    
        removed comments, added comments
    
    commit 66ac5ac
    Author: Damian Schneider <[email protected]>
    Date:   Fri Mar 8 18:14:59 2024 +0100
    
        Revert "fixed touch buttons for ESP32 S2 and S3"
    
        This reverts commit 0904155.
    
    commit 62a975d
    Author: Damian Schneider <[email protected]>
    Date:   Fri Mar 8 18:14:52 2024 +0100
    
        Revert "some tuning for touch buttons on S2/S3"
    
        This reverts commit d21ad8e.
    
    commit d01a151
    Author: Damian Schneider <[email protected]>
    Date:   Mon Feb 26 18:20:07 2024 +0100
    
        add todo
    
    commit 6740cb6
    Author: Damian Schneider <[email protected]>
    Date:   Thu Feb 22 19:16:42 2024 +0100
    
        chaned rotating spray default parameters
    
    commit 1a7ef9b
    Author: Damian Schneider <[email protected]>
    Date:   Wed Feb 21 20:26:17 2024 +0100
    
        updated rotating particle spray with more user options
    
    commit d21ad8e
    Author: Damian Schneider <[email protected]>
    Date:   Wed Feb 21 18:38:34 2024 +0100
    
        some tuning for touch buttons on S2/S3
    
        now better fits the default threshold value of 32
    
    commit 0904155
    Author: Damian Schneider <[email protected]>
    Date:   Sun Feb 18 15:52:36 2024 +0100
    
        fixed touch buttons for ESP32 S2 and S3
    
        touch is implemented differently on S2 and S3, these changes make touch buttons work on S2 and S3
    
    commit a775970
    Merge: 241b080 21173dc
    Author: Damian Schneider <[email protected]>
    Date:   Sun Feb 18 11:29:00 2024 +0100
    
        Merge remote-tracking branch 'upstream/0_15' into FXparticleSystem
    
    commit 241b080
    Author: Damian Schneider <[email protected]>
    Date:   Sat Feb 17 16:50:16 2024 +0100
    
        added particle WrapUpdate function, added spray FX, some bugfixes
    
    commit 11a84c1
    Author: Damian Schneider <[email protected]>
    Date:   Sat Feb 17 14:23:05 2024 +0100
    
        removed TODOs
    
    commit 74ed705
    Author: Damian Schneider <[email protected]>
    Date:   Sat Feb 17 14:19:56 2024 +0100
    
        updated particle attractor animation parameters and added more user options to perlin noise
    
    commit 32979e5
    Author: Damian Schneider <[email protected]>
    Date:   Sat Feb 17 12:50:20 2024 +0100
    
        lots of bugfixes
    
    commit b96ad99
    Author: Damian Schneider <[email protected]>
    Date:   Tue Feb 13 17:00:42 2024 +0100
    
        changed particle pile demo into waterfall plus some tweaks
    
    commit 46aef89
    Author: Damian Schneider <[email protected]>
    Date:   Tue Feb 13 06:47:35 2024 +0100
    
        Bugfix in particle push, now piling is working again
    
        particle pile-up did not work correctly, now fixed
    
    commit dc5c58e
    Author: Damian Schneider <[email protected]>
    Date:   Sat Feb 10 18:25:37 2024 +0100
    
        Fixed some bugs in particle system, runs much smoother now
    
        also tweaked some of the FX
    
    commit 7c49f88
    Author: Damian Schneider <[email protected]>
    Date:   Sat Feb 10 13:32:23 2024 +0100
    
        removed option for fastcolor add
    
        it made very little difference in performance, but for ESP8266 it may matter so it is set permanently there. graphically the difference is also very small (sometimes a particle gets brighter or less saturated)
    
    commit da94d31
    Author: Damian Schneider <[email protected]>
    Date:   Sat Feb 10 11:32:07 2024 +0100
    
        Improved collision handling (faster, less oscillations), changed variables to 32bit for faster calculation
    
        32bit variables are faster on ESP32, so use them whenever a variable is used a lot, it saves one instruction per access.
    
    commit 8fe044e
    Author: Damian Schneider <[email protected]>
    Date:   Sat Feb 10 08:14:34 2024 +0100
    
        added fix for piling oscillations
    
        untested, need to verify it works
    
    commit f1ffbe0
    Author: Damian Schneider <[email protected]>
    Date:   Sat Feb 10 07:35:45 2024 +0100
    
        improved collision efficiency
    
        improved efficiency for stackup (pushback), added code to correctly determine direction if particles meed (probably overkill but now its there)
    
    commit e945faf
    Author: Damian Schneider <[email protected]>
    Date:   Fri Feb 9 20:30:26 2024 +0100
    
        collision detection is now a function plus some improvements & fixes
    
    commit d00126b
    Author: Damian Schneider <[email protected]>
    Date:   Thu Feb 8 22:34:36 2024 +0100
    
        added option to use fast color add, may improve performance a little
    
        also fixed a bug in fire animation
    
    commit 7d6965d
    Author: Damian Schneider <[email protected]>
    Date:   Thu Feb 8 21:50:51 2024 +0100
    
        bugfixes in impact animation
    
    commit 18c79ce
    Author: Damian Schneider <[email protected]>
    Date:   Thu Feb 8 21:19:30 2024 +0100
    
        Added saturation to be set for each particle individually
    
        at the expense of more ram usage, animations now have more options for color control (already used in fireworks now)
    
    commit a147a4b
    Author: Damian Schneider <[email protected]>
    Date:   Thu Feb 8 20:40:21 2024 +0100
    
        added angle emitter, added fireworks effect using it
    
    commit 7bc59c6
    Merge: 7bcfcb4 6dcd959
    Author: Damian Schneider <[email protected]>
    Date:   Thu Feb 8 18:34:16 2024 +0100
    
        Merge branch '0_15' into FXparticleSystem
    
    commit 7bcfcb4
    Author: Damian Schneider <[email protected]>
    Date:   Thu Feb 8 18:33:00 2024 +0100
    
        bugfixes, attracot now works
    
        still unknown, why more than 256 particles are needed in memory allocation to not make it crash, but it works for now
    
    commit cc98036
    Author: Damian Schneider <[email protected]>
    Date:   Wed Feb 7 19:48:54 2024 +0100
    
        added particle attractor, added two new FX but still buggy
    
        particle attractor animation does not work, somthing wrong with pointer allocation, it worked with static variables
    
    commit 820d8dd
    Author: Damian Schneider <[email protected]>
    Date:   Tue Feb 6 12:44:48 2024 +0100
    
        added preliminary functions and FX
    
    commit 3b82219
    Merge: a7ef020 0003845
    Author: Damian Schneider <[email protected]>
    Date:   Sun Feb 4 12:46:26 2024 +0100
    
        Merge branch '0_15' into FXparticleSystem
    
    commit a7ef020
    Author: Damian Schneider <[email protected]>
    Date:   Sun Feb 4 12:40:37 2024 +0100
    
        updated particle box and firework effects
    
        particle box now is more random in random mode (still a work in progress)
        firework is now more configurable by sliders
    
    commit 520a6d5
    Author: Damian Schneider <[email protected]>
    Date:   Sun Feb 4 10:39:01 2024 +0100
    
        Update platformio.ini
    
    commit 6165083
    Author: Damian Schneider <[email protected]>
    Date:   Sun Feb 4 10:20:42 2024 +0100
    
        added latest version of functions
    
        this somehow also got lost from an earlier commit
    
    commit c42e759
    Author: Damian Schneider <[email protected]>
    Date:   Sun Feb 4 10:17:08 2024 +0100
    
        reformat
    
    commit 3e8d079
    Author: Damian Schneider <[email protected]>
    Date:   Sun Feb 4 10:15:58 2024 +0100
    
        added collision handling back in
    
        update from another commit that got lost
    
    commit c320b0a
    Author: Damian Schneider <[email protected]>
    Date:   Sun Feb 4 10:13:54 2024 +0100
    
        cleanup
    
    commit 2db3123
    Author: Damian Schneider <[email protected]>
    Date:   Sun Feb 4 10:04:04 2024 +0100
    
        removed comments
    
    commit 45f2616
    Author: Damian Schneider <[email protected]>
    Date:   Sun Feb 4 10:02:46 2024 +0100
    
        added particle FX animations
    
        not yet final version but working
    
    commit 538ffdb
    Author: Damian Schneider <[email protected]>
    Date:   Sat Feb 3 10:45:34 2024 +0100
    
        Adding Particle System functions
    
        Basic Particle system defining particle structs, some emitters and particle to LED rendering
    DedeHai committed May 5, 2024
    Configuration menu
    Copy the full SHA
    a8ad5b1 View commit details
    Browse the repository at this point in the history

Commits on May 6, 2024

  1. Configuration menu
    Copy the full SHA
    2458a85 View commit details
    Browse the repository at this point in the history

Commits on May 7, 2024

  1. Configuration menu
    Copy the full SHA
    4502d7a View commit details
    Browse the repository at this point in the history
  2. - added WLED_DISABLE_PARTICLESYSTEM option & cleanup & bugfixes

    - cleanup / reformatting
    - fixed volcano movement
    - small bugfix for ESP32 (random() does not work, using random16() )
    DedeHai committed May 7, 2024
    Configuration menu
    Copy the full SHA
    b12f20c View commit details
    Browse the repository at this point in the history

Commits on May 9, 2024

  1. Configuration menu
    Copy the full SHA
    3c5928f View commit details
    Browse the repository at this point in the history
  2. added center GEQ back in, changed AR behaviour of spray a little

    center GEQ is a mix between the PS equalizer and vortex, tuned for AR. some more tuning may be needed, it can probably be extended and improved a little.
    DedeHai committed May 9, 2024
    Configuration menu
    Copy the full SHA
    21e4604 View commit details
    Browse the repository at this point in the history

Commits on May 27, 2024

  1. Bugfix and minor improvements

    - fixed bug in center GEQ
    - added '2D washing machine' mode for particle box
    - improved color-change rate in ghostrider
    - added AR to attractor (experimental, may remove again)
    DedeHai committed May 27, 2024
    Configuration menu
    Copy the full SHA
    29f75de View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    3903de4 View commit details
    Browse the repository at this point in the history
  3. revert files to origin

    DedeHai committed May 27, 2024
    Configuration menu
    Copy the full SHA
    fc6c2da View commit details
    Browse the repository at this point in the history

Commits on Jun 30, 2024

  1. Huge update, added 1D version of particle system plus many new FX

    **2D FX candidates for replacement**
    - Fireworks 1D -> PS Fireworks (not a 1:1 replacement but similar)
    - Ghost Rider -> PS Ghost Rider
    - Blobs -> PS Blobs
    - Fire 2012 -> PS Fire (note: there is no 1D replacement yet)
    - Rain - 2D -> PS Ballpit, slow setting, no floor (very similar except dots are not fading)
    
    **1D FX candidates for replacement**
    - Bouncing Balls -> PS bouncing balls
    - Rolling Balls -> PS bouncing balls with 'Rolling' enabled
    - Dancing Shadows -> PS Dancing Shadows
    - Drip -> PS DripDrop
    - Fireworks 1D -> PS Fireworks 1D
    - Fireworks Starburst -> PS Starburst
    - Lighthouse -> PS Chase with 'Color by position', lowest density
    - Popcorn -> PS 1D Spray with disabled bounce
    - Rain: PS DriopDrop, 'Rain' check enabled, no splash, no blur, no gravity
    - Solid Glitter -> PS Sparkler (not worth disabling, only a few bytes)
    
    Some Notes:
    - Glitter & Sparkle-> could be replaced with PS Sparkler with overlay OR with an additional FX that draws the background first, maybe not possible on ESP8266
    - Juggle could be replaced but will not save much (but would add more options)
    - Pride 2015 could be replaced by adding a 'pride' checkmark to PS Chase, woud save about 1kB
    - Colorwaves -> could be replaced with PS Chase with additional color setting for hue change, similar to pride. Would save another 1kB
    - Theater and Theater rainbow could be dropped -> PS Chase but it will not save much
    - Chase 2 & Chase 3 -> PS Chase (width can not be set as high as originals), share a function with Theater, so all have to be disabled (would save about 600 bytes)
    - 2D handling of some of the 1D replacements will be lost (like drip), I did not check all current FX in 2D
    - Freqmap, Freqwave and Freqmatrix (2.2kB total) could be replaced with a single FX using the PS, would save about 1kB
    - Blurring&Overlay only works if global buffer is enabled
    - All PS effects are frame-time based, there may be significant speed differences to the original effects if they use timers (and if FPS are low)
    
    Use these #defines to enable/disable PS or FX at compile time:
    WLED_DISABLE_PARTICLESYSTEM2D
    WLED_DISABLE_PARTICLESYSTEM1D
    DISABLE_2D_PS_REPLACEMENTS
    DISABLE_1D_PS_REPLACEMENTS
    DedeHai committed Jun 30, 2024
    Configuration menu
    Copy the full SHA
    16b03e7 View commit details
    Browse the repository at this point in the history

Commits on Jul 6, 2024

  1. Added 'Color Waves' and 'Pride' to PS Chase

    - PS Chase now has two more options to replace color waves and pride (work in progress, about 95% finished)
    - PS Bouncing Balls now has larger particle size rendering option added (plus some improvements)
    - some cleanup
    DedeHai committed Jul 6, 2024
    Configuration menu
    Copy the full SHA
    f8a58fb View commit details
    Browse the repository at this point in the history