trail rendering basics
[carveJwlIkooP6JGAAIwe30JlM.git] / player_dead.c
index 4ee223697394643f9dc1b74081e094dc38ee1928..625ff0e7643cae2dfb8c0d4c5a4cb9dc93cd1789 100644 (file)
@@ -15,11 +15,11 @@ static void player__dead_post_update(void){
 
    v3f ext_co;
    v4f ext_q;
-   rb_extrapolate( &part->obj.rb, ext_co, ext_q );
+   rb_extrapolate( &part->rb, ext_co, ext_q );
 
    v3_lerp( d->co_lpf, ext_co, vg.time_frame_delta*4.0f, d->co_lpf );
-   v3_lerp( d->v_lpf,  part->obj.rb.v,  vg.time_frame_delta*4.0f, d->v_lpf );
-   v3_lerp( d->w_lpf,  part->obj.rb.w,  vg.time_frame_delta*4.0f, d->w_lpf );
+   v3_lerp( d->v_lpf,  part->rb.v,  vg.time_frame_delta*4.0f, d->v_lpf );
+   v3_lerp( d->w_lpf,  part->rb.w,  vg.time_frame_delta*4.0f, d->w_lpf );
    
    v3_copy( d->co_lpf, localplayer.rb.co );
    v3_zero( localplayer.rb.v );
@@ -66,9 +66,9 @@ static void player__dead_animate(void){
       v3f co_int;
 
       float substep = vg.time_fixed_extrapolate;
-      v3_lerp( part->prev_co, part->obj.rb.co, substep, co_int );
-      q_nlerp( part->prev_q, part->obj.rb.q, substep, q_int );
-      v4_copy( part->obj.rb.q, q_int );
+      v3_lerp( part->prev_co, part->rb.co, substep, co_int );
+      q_nlerp( part->prev_q, part->rb.q, substep, q_int );
+      v4_copy( part->rb.q, q_int );
 
       q_m3x3( q_int, mtx );
       v3_copy( co_int, mtx[3] );
@@ -144,9 +144,9 @@ static void player__dead_transition( enum player_die_type type ){
 
    struct ragdoll_part *part = 
       &localplayer.ragdoll.parts[ localplayer.id_hip-1 ];
-   v3_copy( part->obj.rb.co, player_dead.co_lpf );
-   v3_copy( part->obj.rb.v,  player_dead.v_lpf );
-   v3_copy( part->obj.rb.w,  player_dead.w_lpf );
+   v3_copy( part->rb.co, player_dead.co_lpf );
+   v3_copy( part->rb.v,  player_dead.v_lpf );
+   v3_copy( part->rb.w,  player_dead.w_lpf );
 
    gui_helper_clear();
    vg_str str;
@@ -172,4 +172,9 @@ static void player__dead_animator_exchange( bitpack_ctx *ctx, void *data ){
    }
 }
 
+static void player__dead_bind(void){
+   struct skeleton *sk = &localplayer.skeleton;
+   player_dead.anim_bail = skeleton_get_anim( sk, "pose_bail_ball" );
+}
+
 #endif /* PLAYER_DEAD_C */