summaryrefslogtreecommitdiff
path: root/src/blu_cat/gra/skeletal_mesh.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/blu_cat/gra/skeletal_mesh.cpp')
-rw-r--r--src/blu_cat/gra/skeletal_mesh.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/blu_cat/gra/skeletal_mesh.cpp b/src/blu_cat/gra/skeletal_mesh.cpp
index 1515dda..8e2e39f 100644
--- a/src/blu_cat/gra/skeletal_mesh.cpp
+++ b/src/blu_cat/gra/skeletal_mesh.cpp
@@ -86,7 +86,7 @@ load_mesh(void *obj)
SKELETAL_MESH_HEADER_SIZE +
header.num_vertexes * 16 * SIZE_32_BIT +
header.num_indexes * SIZE_32_BIT +
- header.num_bones * 16 * SIZE_32_BIT +
+ header.num_bones * (16 * SIZE_32_BIT + SIZE_16_BIT) +
header.num_animations * (2 * SIZE_64_BIT + SIZE_32_BIT) +
header.num_bone_transforms * 4 * SIZE_32_BIT +
header.num_bone_positions * (3 * SIZE_32_BIT + SIZE_64_BIT) +
@@ -153,7 +153,11 @@ load_mesh(void *obj)
{ // Load bones
self->mesh->bones.reserve(header.num_bones);
for(int i{0}; i < header.num_bones; i++)
- self->mesh->bones.emplace_back(input.read_mat4());
+ {
+ auto matrix{input.read_mat4()};
+ auto parent{input.read_ui16()};
+ self->mesh->bones.emplace_back(matrix, parent);
+ }
}
{ // Load animations