-}
-
-VG_STATIC void player_dead_post_animate( player_interface *player,
- player_attachment *at )
-{
- struct player_avatar *av = player->playeravatar;
-
- v3_zero( at->cam_1st.pos );
- v3_zero( at->cam_1st.angles );
- at->cam_1st.fov = 90.0f;
-
- /* FIXME: This overwrites pose blending, however, do we need to blend with
- * this device, anyway? */
- copy_ragdoll_pose_to_avatar( &player->ragdoll, player->playeravatar );
-
-#if 0
- v3f vp = {-0.1f,1.8f,0.0f},
- vd = {-1.0f,0.0f,0.0f};
-
- m4x3_mulv( av->sk.final_mtx[ av->id_head-1 ], vp, cam->pos );
- m3x3_mulv( av->sk.final_mtx[ av->id_head-1 ], vd, vd );
-
- v3_zero( cam->angles );
- cam->fov = 119.0f;
-
- skate_camera_vector_look( cam, vd, 1.0f, 0.0f );
-#endif
-}
+ else if( ev == k_player_device_event_custom_transition )
+ {
+ copy_avatar_pose_to_ragdoll( player->playeravatar, &player->ragdoll,
+ player->rb.v );
+ }
+ else if( ev == k_player_device_event_animate )
+ {
+ v3_zero( dev->pose_root_co );
+ q_identity( dev->pose_root_q );
+
+ for( int i=0; i<vg_list_size( dev->pose ); i ++ )
+ {
+ v3_zero( dev->pose[i].co );
+ v3_fill( dev->pose[i].s, 1.0f );
+ q_identity( dev->pose[i].q );
+ }
+ }
+ else if( ev == k_player_device_event_post_animate )
+ {
+ struct player_avatar *av = player->playeravatar;
+
+ v3_zero( dev->cam_1st.pos );
+ v3_zero( dev->cam_1st.angles );
+ dev->cam_1st.fov = 90.0f;
+
+ /* FIXME: This overwrites pose blending, however, do we need to blend with
+ * this device, anyway? */
+ copy_ragdoll_pose_to_avatar( &player->ragdoll, player->playeravatar );
+ }
+ else
+ return 0;