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 )
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++ )
{
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 );
return 1;
error_dealloc:
- free( skele->bones );
- free( skele->ik );
+ vg_free( skele->bones );
+ vg_free( skele->ik );
return 0;
}