[Change] Tweaked rumble a bit more.

This commit is contained in:
Allanis 2013-08-24 13:16:03 +01:00
parent 6ea6188711
commit 018c3cd39d
3 changed files with 10 additions and 8 deletions

View File

@ -509,7 +509,8 @@ static void pilot_update(Pilot* pilot, const double dt) {
limit_speed(&pilot->solid->vel, /* Limit is higher. */ limit_speed(&pilot->solid->vel, /* Limit is higher. */
pilot->speed * pilot->afterburner->outfit->u.afb.speed_perc + pilot->speed * pilot->afterburner->outfit->u.afb.speed_perc +
pilot->afterburner->outfit->u.afb.speed_abs, dt); 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. */ pilot->energy -= pilot->afterburner->outfit->u.afb.energy * dt; /* Energy loss. */
} else /* Normal limit. */ } else /* Normal limit. */
limit_speed(&pilot->solid->vel, pilot->speed, dt); limit_speed(&pilot->solid->vel, pilot->speed, dt);

View File

@ -9,9 +9,10 @@
#include "rng.h" #include "rng.h"
#include "spfx.h" #include "spfx.h"
#define SPFX_GFX "../gfx/spfx/" /* Graphics location. */ #define SPFX_GFX "../gfx/spfx/" /* Graphics location. */
#define SPFX_CHUNK 32 /* Chunk to allocate when needed. */ #define SPFX_CHUNK 32 /* Chunk to allocate when needed. */
#define SHAKE_VEL_MOD 0.0015 #define SHAKE_VEL_MOD 0.0012
#define SHAKE_MOD_FACTOR 0.2
/* Special hardcoded effects.. */ /* Special hardcoded effects.. */
@ -228,7 +229,7 @@ void spfx_start(double dt) {
-VANGLE(shake_pos) + (RNGF()-0.5) * M_PI); -VANGLE(shake_pos) + (RNGF()-0.5) * M_PI);
} }
/* The shake decays over time. */ /* 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.; if(shake_rad < 0.) shake_rad = 0.;
x = shake_pos.x; x = shake_pos.x;
@ -247,7 +248,7 @@ void spfx_start(double dt) {
/* Add ruuumble!! */ /* Add ruuumble!! */
void spfx_shake(double mod) { void spfx_shake(double mod) {
shake_rad += mod/5.; shake_rad += mod*SHAKE_MOD_FACTOR;
if(shake_rad > SHAKE_MAX) shake_rad = SHAKE_MAX; if(shake_rad > SHAKE_MAX) shake_rad = SHAKE_MAX;
shake_off = 0; shake_off = 0;

View File

@ -5,8 +5,8 @@
#define SPFX_LAYER_FRONT 0 #define SPFX_LAYER_FRONT 0
#define SPFX_LAYER_BACK 1 #define SPFX_LAYER_BACK 1
#define SHAKE_DECAY 50. /* Decay parameter. */ #define SHAKE_DECAY 300. /* Decay parameter. */
#define SHAKE_MAX 50.*SCREEN_W*SCREEN_H/1024./768. /* Max parameter. */ #define SHAKE_MAX 75.*SCREEN_W*SCREEN_H/1024./768. /* Max parameter. */
/* Stack manipulation. */ /* Stack manipulation. */
int spfx_get(char* name); int spfx_get(char* name);