cam rework
[carveJwlIkooP6JGAAIwe30JlM.git] / skeleton.h
index ad87fd980dd7fd604e7a9c3f818fe0923fdc2328..c5f59da39fcc31ab581e1e2396c73351b28bb863 100644 (file)
@@ -67,7 +67,8 @@ VG_STATIC u32 skeleton_bone_id( struct skeleton *skele, const char *name )
    return 0;
 }
 
-VG_STATIC void keyframe_copy_pose( mdl_keyframe *kfa, mdl_keyframe *kfb, int num )
+VG_STATIC void keyframe_copy_pose( mdl_keyframe *kfa, mdl_keyframe *kfb, 
+                                   int num )
 {
    for( int i=0; i<num; i++ )
       kfb[i] = kfa[i];
@@ -76,8 +77,8 @@ VG_STATIC void keyframe_copy_pose( mdl_keyframe *kfa, mdl_keyframe *kfb, int num
 /*
  * Lerp between two sets of keyframes and store in dest. Rotations use Nlerp.
  */
-VG_STATIC void keyframe_lerp_pose( mdl_keyframe *kfa, mdl_keyframe *kfb, float t,
-                                mdl_keyframe *kfd, int count )
+VG_STATIC void keyframe_lerp_pose( mdl_keyframe *kfa, mdl_keyframe *kfb, 
+                                   float t, mdl_keyframe *kfd, int count )
 {
    if( t <= 0.01f )
    {
@@ -105,6 +106,12 @@ VG_STATIC void skeleton_lerp_pose( struct skeleton *skele,
    keyframe_lerp_pose( kfa, kfb, t, kfd, skele->bone_count-1 );
 }
 
+VG_STATIC void skeleton_copy_pose( struct skeleton *skele,
+                                   mdl_keyframe *kfa, mdl_keyframe *kfd )
+{
+   keyframe_copy_pose( kfa, kfd, skele->bone_count-1 );
+}
+
 /*
  * Sample animation between 2 closest frames using time value. Output is a
  * keyframe buffer that is allocated with an appropriate size