diff --git a/src/pilot.c b/src/pilot.c index 683cf12..9e0201e 100644 --- a/src/pilot.c +++ b/src/pilot.c @@ -509,7 +509,8 @@ static void pilot_update(Pilot* pilot, const double dt) { limit_speed(&pilot->solid->vel, /* Limit is higher. */ pilot->speed * pilot->afterburner->outfit->u.afb.speed_perc + pilot->afterburner->outfit->u.afb.speed_abs, dt); - spfx_shake(SHAKE_DECAY/2. * dt); /* Shake goes down at half speed. */ + if(pilot->id == PLAYER_ID) + spfx_shake(SHAKE_DECAY*0.75 * dt); /* Shake goes down at half speed. */ pilot->energy -= pilot->afterburner->outfit->u.afb.energy * dt; /* Energy loss. */ } else /* Normal limit. */ limit_speed(&pilot->solid->vel, pilot->speed, dt); diff --git a/src/spfx.c b/src/spfx.c index 8815613..9ae82b7 100644 --- a/src/spfx.c +++ b/src/spfx.c @@ -9,9 +9,10 @@ #include "rng.h" #include "spfx.h" -#define SPFX_GFX "../gfx/spfx/" /* Graphics location. */ -#define SPFX_CHUNK 32 /* Chunk to allocate when needed. */ -#define SHAKE_VEL_MOD 0.0015 +#define SPFX_GFX "../gfx/spfx/" /* Graphics location. */ +#define SPFX_CHUNK 32 /* Chunk to allocate when needed. */ +#define SHAKE_VEL_MOD 0.0012 +#define SHAKE_MOD_FACTOR 0.2 /* Special hardcoded effects.. */ @@ -228,7 +229,7 @@ void spfx_start(double dt) { -VANGLE(shake_pos) + (RNGF()-0.5) * M_PI); } /* The shake decays over time. */ - shake_rad -= SHAKE_DECAY * dt; + shake_rad -= SHAKE_DECAY * dt * SHAKE_MOD_FACTOR; if(shake_rad < 0.) shake_rad = 0.; x = shake_pos.x; @@ -247,7 +248,7 @@ void spfx_start(double dt) { /* Add ruuumble!! */ void spfx_shake(double mod) { - shake_rad += mod/5.; + shake_rad += mod*SHAKE_MOD_FACTOR; if(shake_rad > SHAKE_MAX) shake_rad = SHAKE_MAX; shake_off = 0; diff --git a/src/spfx.h b/src/spfx.h index d9d9fce..d2189da 100644 --- a/src/spfx.h +++ b/src/spfx.h @@ -5,8 +5,8 @@ #define SPFX_LAYER_FRONT 0 #define SPFX_LAYER_BACK 1 -#define SHAKE_DECAY 50. /* Decay parameter. */ -#define SHAKE_MAX 50.*SCREEN_W*SCREEN_H/1024./768. /* Max parameter. */ +#define SHAKE_DECAY 300. /* Decay parameter. */ +#define SHAKE_MAX 75.*SCREEN_W*SCREEN_H/1024./768. /* Max parameter. */ /* Stack manipulation. */ int spfx_get(char* name);