Project save fixes

This commit is contained in:
luboslenco
2025-09-03 23:29:53 +02:00
parent 758e8894af
commit 8de340ee2e
+31 -1
View File
@@ -50,6 +50,30 @@ function util_encode_mesh_data_size(datas: mesh_data_t[]): i32 {
return size;
}
function util_encode_packed_assets_size(assets: packed_asset_t[]): i32 {
if (assets == null) {
return 0;
}
let size: i32 = 0;
for (let i: i32 = 0; i < assets.length; ++i) {
let asset: packed_asset_t = assets[i];
let bytes: buffer_t = asset.bytes;
size += bytes.length;
}
return size;
}
function util_encode_buffers_size(buffers: buffer_t[]): i32 {
if (buffers == null) {
return 0;
}
let size: i32 = 0;
for (let i: i32 = 0; i < buffers.length; ++i) {
size += buffers[i].length;
}
return size;
}
function util_encode_layer_data_size(datas: layer_data_t[]): i32 {
if (datas == null) {
return 0;
@@ -107,7 +131,13 @@ function util_encode_mesh_datas(datas: mesh_data_t[]) {
}
function util_encode_project(raw: project_format_t): buffer_t {
let size: i32 = 32 * 1024 * 1024 + util_encode_layer_data_size(raw.layer_datas) + util_encode_mesh_data_size(raw.mesh_datas);
let size: i32 = 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);
let encoded: buffer_t = buffer_create(size);
armpack_encode_start(encoded.buffer);