1 /* 2 * See Licensing and Copyright notice in naev.h 3 */ 4 5 6 7 #ifndef SPFX_H 8 # define SPFX_H 9 10 11 #include "physics.h" 12 #include "opengl.h" 13 14 15 #define SPFX_LAYER_FRONT 0 /**< Front spfx layer. */ 16 #define SPFX_LAYER_BACK 1 /**< Back spfx layer. */ 17 18 #define SHAKE_DECAY 0.3 /**< Rumble decay parameter */ 19 #define SHAKE_MAX 1.0 /**< Rumblemax parameter */ 20 21 /* 22 * stack manipulation 23 */ 24 int spfx_get( char* name ); 25 void spfx_add( const int effect, 26 const double px, const double py, 27 const double vx, const double vy, 28 const int layer ); 29 30 31 /* 32 * stack mass manipulation functions 33 */ 34 void spfx_update( const double dt ); 35 void spfx_render( const int layer ); 36 void spfx_clear (void); 37 38 39 /* 40 * get ready to rumble 41 */ 42 void spfx_begin( const double dt, const double real_dt ); 43 void spfx_end (void); 44 void spfx_shake( double mod ); 45 void spfx_getShake( double *x, double *y ); 46 47 48 /* 49 * other effects 50 */ 51 void spfx_cinematic (void); 52 53 54 /* 55 * spfx effect loading and freeing 56 */ 57 int spfx_load (void); 58 void spfx_free (void); 59 60 61 #endif /* SPFX_H */ 62