8#define SPFX_LAYER_FRONT 0
9#define SPFX_LAYER_MIDDLE 1
10#define SPFX_LAYER_BACK 2
12#define SPFX_DAMAGE_DECAY \
14#define SPFX_DAMAGE_MOD \
17#define SPFX_DAMAGE_MAX 1.0
19#define SPFX_SHAKE_DECAY 0.3
20#define SPFX_SHAKE_MOD 1.0
21#define SPFX_SHAKE_MAX 1.0
26typedef struct TrailStyle_ {
35typedef enum TrailMode_ {
46 "idle", "glow", "afterburn", "jumping", "none", \
52typedef struct TrailSpec_ {
93typedef struct Trail_spfx_ {
108#define trail_at( trail, i ) \
109 ( ( trail )->point_ringbuf[( i ) & ( ( trail )->capacity - 1 )] )
111#define trail_size( trail ) ( ( trail )->iwrite - ( trail )->iread )
113#define trail_front( trail ) trail_at( trail, ( trail )->iread )
115#define trail_back( trail ) trail_at( trail, ( trail )->iwrite - 1 )
122void spfx_add(
int effect,
const double px,
const double py,
const double vx,
123 const double vy,
int layer );
133 double dx,
double dy, TrailMode mode,
int force );
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, double z, double dx, double dy, 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.
void spfx_setNebulaColour(double r, double g, double b)
Sets the nebula colour where applicable.
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.
TrailStyle style[MODE_MAX]
Represents the appearance characteristics for a given trail mode.
A trail generated by a ship or an ammo.
TrailPoint * point_ringbuf