Skip to content

Give Particles Access to Their Spawner Effect#7034

Merged
BMagnu merged 7 commits into
scp-fs2open:masterfrom
BMagnu:particle_effect_awareness
Sep 15, 2025
Merged

Give Particles Access to Their Spawner Effect#7034
BMagnu merged 7 commits into
scp-fs2open:masterfrom
BMagnu:particle_effect_awareness

Conversation

@BMagnu

@BMagnu BMagnu commented Sep 14, 2025

Copy link
Copy Markdown
Member

Followup to #6465.
The particles having access to their static table data is an important enhancement for a lot of particle use cases.
Explicitly, this PR closes #3052 by ways of modular curves that are now possible, and it will facilitate both #3046 and #6863 in followup PRs.
As a side effect, this PR gives modular curves the ability to call global functions that use the previously received value as an argument.
This PR also cleans out the old particle spawn logic, which is no longer necessary with the new particle system being the only source of particles.
Even though every particle has to access the particle manager and query it for the particle effect, this PR had no measurable performance difference on a 300k particle stress test.

@BMagnu BMagnu added enhancement A new feature or upgrade of an existing feature to add additional functionality. particles An item related to the particle system labels Sep 14, 2025

@wookieejedi wookieejedi left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Existing particles all still worked in my test

@BMagnu BMagnu merged commit 1e7431a into scp-fs2open:master Sep 15, 2025
20 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement A new feature or upgrade of an existing feature to add additional functionality. particles An item related to the particle system

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Particle Effects FR: Ability to set particle length based on current velocity

2 participants