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

Contains movement patterns for particles. More...

#include <particle_movement.h>
#include <time_system.h>
#include <math.h>
#include <random.h>

Functions

void Particle_LinearMovement (Particle *particle)
 [Utility] Completely linear movement - constant speed and direction
 
void Particle_AcceleratedMovement (Particle *particle)
 [Utility] Accelerated movement
 
void Particle_DeceleratedMovement (Particle *particle)
 [Utility] Decelerated movement (this is just drag lmfao)
 
void Particle_SpiralMovement (Particle *particle)
 [Utility] Spiral movmeent
 
void Particle_RandomMovement (Particle *particle)
 [Utility] Random movement
 
void Particle_SineMovement (Particle *particle)
 [Utility] Sine wave movement
 

Detailed Description

Contains movement patterns for particles.

This file implements various movement patterns that can be applied to particles, including linear, accelerated, decelerated, spiral, random, and sine movement.

Author
Mango
Date
2025-03-04

Function Documentation

◆ Particle_AcceleratedMovement()

void Particle_AcceleratedMovement ( Particle *  particle)

[Utility] Accelerated movement

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)

[Utility] Decelerated movement (this is just drag lmfao)

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)

[Utility] Completely linear movement - constant speed and direction

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)

[Utility] Random movement

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)

[Utility] Sine wave movement

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)

[Utility] Spiral movmeent

Moves a particle in a spiral pattern.

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

Parameters
particleThe particle to update