paint: add mesh_skins to project

This commit is contained in:
luboslenco
2026-08-11 14:57:57 +02:00
parent a83d6ff9d4
commit b7f39b0923
7 changed files with 64 additions and 16 deletions
+13 -2
View File
@@ -201,12 +201,12 @@ i32 util_encode_timeline_meshes_size(timeline_mesh_keyframe_data_t_array_t *data
buffer_t *util_encode_project(project_t *raw) {
i32 size = 32 * 1024 * 1024 + util_encode_layer_data_size(raw->layer_datas) + util_encode_mesh_data_size(raw->mesh_datas) +
util_encode_packed_assets_size(raw->packed_assets) + util_encode_buffers_size(raw->brush_icons) + util_encode_buffers_size(raw->material_icons) +
util_encode_buffers_size(raw->mesh_icons) + util_encode_f32_arrays_size(raw->mesh_transforms) +
util_encode_buffers_size(raw->mesh_icons) + util_encode_buffers_size(raw->mesh_skins) + util_encode_f32_arrays_size(raw->mesh_transforms) +
util_encode_timeline_layers_size(raw->timeline_layers) + util_encode_timeline_meshes_size(raw->timeline_meshes);
buffer_t *encoded = buffer_create(size);
armpack_encode_start(encoded->buffer);
armpack_encode_map(38);
armpack_encode_map(39);
armpack_encode_string("version");
armpack_encode_string(raw->version);
@@ -484,6 +484,17 @@ buffer_t *util_encode_project(project_t *raw) {
armpack_encode_string("mesh_physics_masses");
armpack_encode_array_f32(raw->mesh_physics_masses);
armpack_encode_string("mesh_skins");
if (raw->mesh_skins != NULL) {
armpack_encode_array(raw->mesh_skins->length);
for (i32 i = 0; i < raw->mesh_skins->length; ++i) {
armpack_encode_array_u8(raw->mesh_skins->buffer[i]);
}
}
else {
armpack_encode_null();
}
armpack_encode_string("atlas_objects");
armpack_encode_array_i32(raw->atlas_objects);
armpack_encode_string("atlas_names");