basic dead device and some comments for next time
[carveJwlIkooP6JGAAIwe30JlM.git] / player_interface.h
index 54173455e9be62569a9b68cb23037761a41bc2ae..acd9e1e9082daace25308df87a95cfa0a8076159 100644 (file)
@@ -153,6 +153,8 @@ VG_STATIC void player_use_mesh( player_interface *player, glmesh *mesh )
    player->playermesh = mesh;
 }
 
+/* FIXME: Seperate concepts for binding and equip.
+ */
 VG_STATIC void player_use_device( player_interface *player, player_device *dev,
                                   void *storage )
 {
@@ -241,16 +243,23 @@ VG_STATIC void player_pre_render( player_interface *player )
    player_pose pose;
    m4x3f transform;
 
-   player->dev.device->pose( player, &player->dev, pose, transform );
+   /* FIXME: Give devices more control over these render stages, and have 
+    *        'API calls'
+    *        for this kindof crap instead of it dictating order... */
+
+   if( player->dev.device->pose )
+   {
+      player->dev.device->pose( player, &player->dev, pose, transform );
 
-   struct skeleton *sk = &player->playeravatar->sk;
+      struct skeleton *sk = &player->playeravatar->sk;
 
-   skeleton_apply_pose( sk, pose, k_anim_apply_defer_ik );
-   skeleton_apply_ik_pass( sk );
-   skeleton_apply_pose( sk, pose, k_anim_apply_deffered_only );
-   skeleton_apply_inverses( sk );
-   skeleton_apply_transform( sk, transform );
-   skeleton_debug( sk );
+      skeleton_apply_pose( sk, pose, k_anim_apply_defer_ik );
+      skeleton_apply_ik_pass( sk );
+      skeleton_apply_pose( sk, pose, k_anim_apply_deffered_only );
+      skeleton_apply_inverses( sk );
+      skeleton_apply_transform( sk, transform );
+      skeleton_debug( sk );
+   }
 
    player->dev.device->get_camera( player, &player->dev, &player->cam );
    /* TODO: if dead copy ragdoll.. . */
@@ -321,6 +330,11 @@ VG_STATIC void player_spawn( player_interface *player,
       player->dev.device->reset( player, &player->dev, rp );
 }
 
+VG_STATIC void player_kill( player_interface *player )
+{
+   
+}
+
 /*
  * Apply per render-frame mouse look from player to angles
  */