better? grinds
[carveJwlIkooP6JGAAIwe30JlM.git] / player.c
index 85cf9166f25ff00b2690e56add842c5917291827..653452365af1b3d32f4fa6e45c061790d8530dfa 100644 (file)
--- a/player.c
+++ b/player.c
@@ -42,6 +42,9 @@ void player__create( player_instance *inst )
    inst->input_use  = vg_create_named_input( "use",     k_input_type_button );
    inst->input_reset= vg_create_named_input( "reset",   k_input_type_button );
    inst->input_camera=vg_create_named_input( "camera",  k_input_type_button );
+   inst->input_trick0=vg_create_named_input( "trick0",  k_input_type_button );
+   inst->input_trick1=vg_create_named_input( "trick1",  k_input_type_button );
+   inst->input_trick2=vg_create_named_input( "trick2",  k_input_type_button );
 
    const char *default_cfg[] = 
    {
@@ -61,6 +64,12 @@ void player__create( player_instance *inst )
       "bind jump space",
       "bind jump gp-a",
 
+      "bind trick0 mouse1",
+      "bind trick0 gp-a",
+      "bind trick1 mouse2",
+      "bind trick1 gp-b",
+      "bind trick2 gp-x",     /* keyboard: m0 + m1 */
+
       "bind push gp-b",
       "bind push w",
 
@@ -213,7 +222,7 @@ VG_STATIC void player__pre_render( player_instance *player )
       {
          skeleton_lerp_pose( sk, res.pose, player->holdout_pose, 
                                            player->holdout_time, res.pose );
-         player->holdout_time -= vg.frame_delta * 4.0f;
+         player->holdout_time -= vg.frame_delta * 2.0f;
       }
 
       skeleton_apply_pose( sk, res.pose, k_anim_apply_defer_ik );
@@ -221,7 +230,10 @@ VG_STATIC void player__pre_render( player_instance *player )
       skeleton_apply_pose( sk, res.pose, k_anim_apply_deffered_only );
       skeleton_apply_inverses( sk );
       skeleton_apply_transform( sk, transform );
+
+#if 0
       skeleton_debug( sk );
+#endif
    }
 
    if( _player_post_animate[ player->subsystem ] )
@@ -292,6 +304,8 @@ PLAYER_API void player__spawn( player_instance *player,
    q_identity( player->rb.q );
    rb_update_transform( &player->rb );
 
+   player->subsystem = k_player_subsystem_walk;
+
    if( _player_reset[ player->subsystem ] )
       _player_reset[ player->subsystem ]( player, rp );
 }