q_m3x3( q_int, mtx );
v3_copy( co_int, mtx[3] );
- m4x3_mul( mtx, part->inv_collider_mtx, av->sk.final_mtx[part->bone_id] );
+ m4x3_mul( mtx, part->inv_collider_mtx,
+ localplayer.final_mtx[part->bone_id] );
}
for( u32 i=1; i<av->sk.bone_count; i++ ){
v3_copy( delta, posemtx[3] );
/* final matrix */
- m4x3_mul( av->sk.final_mtx[sb->parent], posemtx, av->sk.final_mtx[i] );
+ m4x3_mul( localplayer.final_mtx[sb->parent], posemtx,
+ localplayer.final_mtx[i] );
}
}
- skeleton_apply_inverses( &av->sk );
+ skeleton_apply_inverses( &av->sk, localplayer.final_mtx );
}
/*
v3f pos, offset;
u32 bone = part->bone_id;
- m4x3_mulv( av->sk.final_mtx[bone], av->sk.bones[bone].co, pos );
- m3x3_mulv( av->sk.final_mtx[bone], part->collider_mtx[3], offset );
+ m4x3_mulv( localplayer.final_mtx[bone], av->sk.bones[bone].co, pos );
+ m3x3_mulv( localplayer.final_mtx[bone], part->collider_mtx[3], offset );
v3_add( pos, offset, part->obj.rb.co );
m3x3f r;
- m3x3_mul( av->sk.final_mtx[bone], part->collider_mtx, r );
+ m3x3_mul( localplayer.final_mtx[bone], part->collider_mtx, r );
m3x3_q( r, part->obj.rb.q );
v3_copy( velocity, part->obj.rb.v );
/*
* Ragdoll physics step
*/
-static void player_ragdoll_iter( struct player_ragdoll *rd )
-{
+static void player_ragdoll_iter( struct player_ragdoll *rd ){
world_instance *world = world_current_instance();
int run_sim = 0;