Fix major overstep with last commit
[carveJwlIkooP6JGAAIwe30JlM.git] / skeleton.h
index dc8342b9637c5078c2a9b6ee09d1f9ea27935ce5..788bd197f9c70203244900147267f06349dc0c37 100644 (file)
@@ -61,6 +61,7 @@ static u32 skeleton_bone_id( struct skeleton *skele, const char *name )
       if( !strcmp( skele->bones[i].name, name ))
          return i;
    }
+
    return 0;
 }
 
@@ -415,8 +416,8 @@ static int skeleton_setup( struct skeleton *skele, mdl_header *mdl )
          skele->bone_count = inf->channels;
          skele->ik_count = inf->ik_count;
          skele->collider_count = inf->collider_count;
-         skele->bones = malloc(sizeof(struct skeleton_bone)*skele->bone_count);
-         skele->ik = malloc(sizeof(struct skeleton_ik)*skele->ik_count);
+         skele->bones =vg_alloc(sizeof(struct skeleton_bone)*skele->bone_count);
+         skele->ik = vg_alloc(sizeof(struct skeleton_ik)*skele->ik_count);
          skeleton_root = i;
       }
       else if( skele->bone_count )
@@ -521,9 +522,9 @@ static int skeleton_setup( struct skeleton *skele, mdl_header *mdl )
    skele->bones[0].parent = 0xffffffff;
    skele->bones[0].collider = 0;
    
-   skele->final_mtx = malloc( sizeof(m4x3f) * skele->bone_count );
+   skele->final_mtx = vg_alloc( sizeof(m4x3f) * skele->bone_count );
    skele->anim_count = inf->anim_count;
-   skele->anims = malloc( sizeof(struct skeleton_anim) * inf->anim_count);
+   skele->anims = vg_alloc( sizeof(struct skeleton_anim) * inf->anim_count);
    
    for( int i=0; i<inf->anim_count; i++ )
    {
@@ -532,11 +533,11 @@ static int skeleton_setup( struct skeleton *skele, mdl_header *mdl )
 
       skele->anims[i].rate = anim->rate;
       skele->anims[i].length = anim->length;
-      strncpy( skele->anims[i].name, mdl_pstr(mdl, anim->pstr_name), 32 );
+      strncpy( skele->anims[i].name, mdl_pstr(mdl, anim->pstr_name), 31 );
 
       u32 total_keyframes = (skele->bone_count-1)*anim->length;
       size_t block_size = sizeof(mdl_keyframe) * total_keyframes;
-      mdl_keyframe *dst = malloc( block_size );
+      mdl_keyframe *dst = vg_alloc( block_size );
 
       skele->anims[i].anim_data = dst;
       memcpy( dst, mdl_get_animdata( mdl, anim ), block_size );
@@ -548,8 +549,8 @@ static int skeleton_setup( struct skeleton *skele, mdl_header *mdl )
    return 1;
 
 error_dealloc:
-   free( skele->bones );
-   free( skele->ik );
+   vg_free( skele->bones );
+   vg_free( skele->ik );
    return 0;
 }