-/* Setup an animated skeleton from model */
-static int skeleton_setup( struct skeleton *skele, mdl_header *mdl )
+VG_STATIC void skeleton_alloc_from( struct skeleton *skele,
+ void *lin_alloc,
+ struct classtype_skeleton *inf )
+{
+ skele->bone_count = inf->channels;
+ skele->ik_count = inf->ik_count;
+ skele->collider_count = inf->collider_count;
+ skele->anim_count = inf->anim_count;
+
+ u32 bone_size = sizeof(struct skeleton_bone) * skele->bone_count,
+ ik_size = sizeof(struct skeleton_ik) * skele->ik_count,
+ mtx_size = sizeof(m4x3f) * skele->bone_count,
+ anim_size = sizeof(struct skeleton_anim) * skele->anim_count;
+
+ skele->bones = vg_linear_alloc( lin_alloc, bone_size );
+ skele->ik = vg_linear_alloc( lin_alloc, ik_size );
+ skele->final_mtx = vg_linear_alloc( lin_alloc, mtx_size );
+ skele->anims = vg_linear_alloc( lin_alloc, anim_size );
+}
+
+VG_STATIC void skeleton_fatal_err(void)