Operation Null Mind 0.4.1
A 2D roguelike top down shooter game made with SDL2
 
Loading...
Searching...
No Matches
particle_movement.h File Reference

Provides custom movement behaviors for particles. More...

#include <particles.h>

Go to the source code of this file.

Functions

void Particle_LinearMovement (Particle *particle)
 Moves a particle in a linear direction.
 
void Particle_AcceleratedMovement (Particle *particle)
 Moves a particle with acceleration.
 
void Particle_DeceleratedMovement (Particle *particle)
 Moves a particle with deceleration.
 
void Particle_SpiralMovement (Particle *particle)
 Moves a particle in a spiral pattern.
 
void Particle_RandomMovement (Particle *particle)
 Moves a particle in a random direction.
 
void Particle_SineMovement (Particle *particle)
 Moves a particle in a sine wave pattern.
 

Detailed Description

Provides custom movement behaviors for particles.

These functions can be used to create custom particle movement behaviors.

Warning
Custom movement will override default movement behaviors, like speed, gravity, drag, etc.

Usage

To use a custom movement function, set the custom_Movement field in the emitter to the desired function.

Example

emitter->custom_Movement = Particle_LinearMovement;
void Particle_LinearMovement(Particle *particle)
[Utility] Completely linear movement - constant speed and direction
Definition particle_movement.c:26

This will make the particles move in a linear direction.

Author
Mango
Date
2025-03-04

Function Documentation

◆ Particle_AcceleratedMovement()

void Particle_AcceleratedMovement ( Particle *  particle)

Moves a particle with acceleration.

Parameters
particleThe particle to move.

Moves a particle with acceleration.

Gradually increases the particle's speed over time.

Parameters
particleThe particle to update

◆ Particle_DeceleratedMovement()

void Particle_DeceleratedMovement ( Particle *  particle)

Moves a particle with deceleration.

Parameters
particleThe particle to move.

Moves a particle with deceleration.

Gradually decreases the particle's speed over time, simulating drag.

Parameters
particleThe particle to update

◆ Particle_LinearMovement()

void Particle_LinearMovement ( Particle *  particle)

Moves a particle in a linear direction.

Parameters
particleThe particle to move.

Moves a particle in a linear direction.

Moves the particle at a constant speed and direction without acceleration or deceleration.

Parameters
particleThe particle to update

◆ Particle_RandomMovement()

void Particle_RandomMovement ( Particle *  particle)

Moves a particle in a random direction.

Parameters
particleThe particle to move.

Moves a particle in a random direction.

Randomly changes the particle's direction over time.

Parameters
particleThe particle to update

◆ Particle_SineMovement()

void Particle_SineMovement ( Particle *  particle)

Moves a particle in a sine wave pattern.

Parameters
particleThe particle to move.

Moves a particle in a sine wave pattern.

Moves the particle in a sine wave pattern.

Parameters
particleThe particle to update

◆ Particle_SpiralMovement()

void Particle_SpiralMovement ( Particle *  particle)

Moves a particle in a spiral pattern.

Parameters
particleThe particle to move.

Moves a particle in a spiral pattern.

Rotates the particle's direction vector to create a spiral movement pattern.

Parameters
particleThe particle to update