PCKPacker: Fix first file being written mis-aligned

This commit is contained in:
nikitalita
2025-06-13 11:38:29 +02:00
parent d9cd011e2f
commit 6e823b4b14
2 changed files with 12 additions and 0 deletions

View File

@ -111,6 +111,12 @@ Error PCKPacker::pck_start(const String &p_pck_path, int p_alignment, const Stri
file->store_32(0); // Reserved.
}
// Align for first file.
int pad = _get_pad(alignment, file->get_position());
for (int i = 0; i < pad; i++) {
file->store_8(0);
}
file_base = file->get_position();
file->seek(file_base_ofs);
file->store_64(file_base); // Update files base.

View File

@ -1966,6 +1966,12 @@ Error EditorExportPlatform::save_pack(const Ref<EditorExportPreset> &p_preset, b
f->store_32(0); // Reserved.
}
// Align for first file.
int file_padding = _get_pad(PCK_PADDING, f->get_position());
for (int i = 0; i < file_padding; i++) {
f->store_8(0);
}
uint64_t file_base = f->get_position();
f->seek(file_base_ofs);
f->store_64(file_base - pck_start_pos); // Update files base.