remove references to glide in master
[carveJwlIkooP6JGAAIwe30JlM.git] / player_effects.c
1 #include "player_effects.h"
2 #include "particle.h"
3
4 static void effect_blink_apply( effect_blink *ef, player_pose *pose, f32 dt ){
5 if( ef->t < 0.0f ){
6 ef->t = (1.0f-powf(vg_randf64(&vg.rand),4.0f))*4.0f;
7 ef->l = 0.08f;
8 }
9
10 pose->keyframes[ localplayer.id_eyes-1 ].s[1] = ef->l > 0.0f? 0.2f: 1.0f;
11
12 ef->t -= dt;
13 ef->l -= dt;
14 }
15
16 static void effect_spark_apply( effect_spark *ef, v3f co, v3f v, f32 dt ){
17 if( !ef->colour ) return;
18
19 if( ef->t < 0.0f ){
20 ef->t += 0.05f+vg_randf64(&vg.rand)*0.1f;
21
22 v3f dir;
23 v3_copy( v, dir );
24 dir[1] += 1.0f;
25 f32 l = v3_length(dir);
26 v3_muls( dir, 1.0f/l, dir );
27
28 particle_spawn_cone( &particles_grind, co, dir, VG_PIf/2.0f, l,
29 4.0f, ef->colour );
30 }
31 else
32 ef->t -= dt;
33 }