10#define SPFX_LAYER_FRONT 0
11#define SPFX_LAYER_MIDDLE 1
12#define SPFX_LAYER_BACK 2
14#define SPFX_DAMAGE_DECAY 0.5
15#define SPFX_DAMAGE_MOD 1.5
16#define SPFX_DAMAGE_MAX 1.0
18#define SPFX_SHAKE_DECAY 0.3
19#define SPFX_SHAKE_MOD 1.0
20#define SPFX_SHAKE_MAX 1.0
25typedef struct TrailStyle_ {
33typedef enum TrailMode_ {
34 MODE_IDLE, MODE_GLOW, MODE_AFTERBURN, MODE_JUMPING, MODE_NONE,
38#define MODE_TAGS {"idle", "glow", "afterburn", "jumping", "none",}
43typedef struct TrailSpec_ {
64typedef struct Trail_spfx_ {
77#define trail_at( trail, i ) ( (trail)->point_ringbuf[ (i) & ((trail)->capacity - 1) ] )
79#define trail_size( trail ) ( (trail)->iwrite - (trail)->iread )
81#define trail_front( trail ) trail_at( trail, (trail)->iread )
83#define trail_back( trail ) trail_at( trail, (trail)->iwrite-1 )
91 const double px,
const double py,
92 const double vx,
const double vy,
void spfx_free(void)
Frees the spfx stack.
int spfx_load(void)
Loads the spfx stack.
void spfx_render(int layer, double dt)
Renders the entire spfx layer.
const TrailSpec * trailSpec_get(const char *name)
Gets a trail spec by name.
void spfx_cinematic(void)
Sets the cinematic mode.
void spfx_trail_sample(Trail_spfx *trail, double x, double y, TrailMode mode, int force)
Makes a trail grow.
void spfx_shake(double mod)
Increases the current rumble level.
void spfx_clear(void)
Clears all the currently running effects.
int spfx_get(const char *name)
Gets the id of an spfx based on name.
void spfx_trail_remove(Trail_spfx *trail)
Removes a trail.
void spfx_add(int effect, const double px, const double py, const double vx, const double vy, int layer)
Creates a new special effect.
void spfx_damage(double mod)
Increases the current damage level.
Trail_spfx * spfx_trail_create(const TrailSpec *spec)
Initalizes a trail.
void spfx_update(const double dt, const double real_dt)
Updates all the spfx.
void spfx_trail_draw(const Trail_spfx *trail)
Draws a trail on screen.
represents a set of styles for trails.
Represents the appearance characteristics for a given trail mode.
A trail generated by a ship or an ammo.
TrailPoint * point_ringbuf