projects
/
carveJwlIkooP6JGAAIwe30JlM.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
isolate world code
[carveJwlIkooP6JGAAIwe30JlM.git]
/
skeleton.h
diff --git
a/skeleton.h
b/skeleton.h
index 4f35d58e25d50681b462cfac7596f3a8b02991da..c5f59da39fcc31ab581e1e2396c73351b28bb863 100644
(file)
--- a/
skeleton.h
+++ b/
skeleton.h
@@
-61,10
+61,14
@@
VG_STATIC u32 skeleton_bone_id( struct skeleton *skele, const char *name )
return i;
}
return i;
}
+ vg_error( "skeleton_bone_id( *, \"%s\" );\n", name );
+ vg_fatal_exit_loop( "Bone does not exist\n" );
+
return 0;
}
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];
{
for( int i=0; i<num; i++ )
kfb[i] = kfa[i];
@@
-73,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.
*/
/*
* 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 )
{
{
if( t <= 0.01f )
{
@@
-102,6
+106,12
@@
VG_STATIC void skeleton_lerp_pose( struct skeleton *skele,
keyframe_lerp_pose( kfa, kfb, t, kfd, skele->bone_count-1 );
}
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
/*
* Sample animation between 2 closest frames using time value. Output is a
* keyframe buffer that is allocated with an appropriate size
@@
-376,7
+386,7
@@
VG_STATIC void skeleton_apply_standard( struct skeleton *skele, mdl_keyframe *po
* Get an animation by name
*/
VG_STATIC struct skeleton_anim *skeleton_get_anim( struct skeleton *skele,
* Get an animation by name
*/
VG_STATIC struct skeleton_anim *skeleton_get_anim( struct skeleton *skele,
- const char *name )
+
const char *name )
{
for( int i=0; i<skele->anim_count; i++ )
{
{
for( int i=0; i<skele->anim_count; i++ )
{
@@
-386,6
+396,9
@@
VG_STATIC struct skeleton_anim *skeleton_get_anim( struct skeleton *skele,
return anim;
}
return anim;
}
+ vg_error( "skeleton_get_anim( *, \"%s\" )\n", name );
+ vg_fatal_exit_loop( "Invalid animation name\n" );
+
return NULL;
}
return NULL;
}