VG_STATIC void player_dead_post_update( player_interface *player,
player_attachment *at )
{
- copy_ragdoll_pose_to_avatar( &player->ragdoll, player->playeravatar );
}
VG_STATIC void player_dead_ui( player_interface *player,
player->rb.v );
}
-VG_STATIC void player_dead_pose( player_interface *player,
- player_attachment *at,
- player_pose pose, m4x3f transform )
+/* FIXME: This should be an optional function */
+VG_STATIC void player_dead_animate( player_interface *player,
+ player_attachment *at )
{
+ v3_zero( at->pose_root_co );
+ q_identity( at->pose_root_q );
+
+ for( int i=0; i<vg_list_size( at->pose ); i ++ )
+ {
+ v3_zero( at->pose[i].co );
+ v3_fill( at->pose[i].s, 1.0f );
+ q_identity( at->pose[i].q );
+ }
}
-/* FIXME: player_device_common */
-VG_STATIC void player_skate_get_camera( player_interface *player,
- player_attachment *at, camera *cam );
-VG_STATIC void skate_camera_vector_look( camera *cam, v3f v, float C, float k );
-
-VG_STATIC void player_dead_get_camera( player_interface *player,
- player_attachment *at, camera *cam )
+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};
cam->fov = 119.0f;
skate_camera_vector_look( cam, vd, 1.0f, 0.0f );
+#endif
}
VG_STATIC void player_dead_transport( player_interface *player,
.pre_update = player_dead_pre_update,
.update = player_dead_update,
.post_update = player_dead_post_update,
- .get_camera = player_dead_get_camera,
+ .animate = player_dead_animate,
+ .post_animate = player_dead_post_animate,
.debug_ui = player_dead_ui,
.bind = player_dead_bind,
#if 0
.pose = player_dead_pose,
#endif
- .gate_transport= player_dead_transport
};
#endif /* PLAYER_DEVICE_DEAD_H */