diff --git a/core/io/pck_packer.cpp b/core/io/pck_packer.cpp index 62fb70a3dd..ee7bb15ba5 100644 --- a/core/io/pck_packer.cpp +++ b/core/io/pck_packer.cpp @@ -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. diff --git a/editor/export/editor_export_platform.cpp b/editor/export/editor_export_platform.cpp index 0ab65408f2..ca779a9d93 100644 --- a/editor/export/editor_export_platform.cpp +++ b/editor/export/editor_export_platform.cpp @@ -1966,6 +1966,12 @@ Error EditorExportPlatform::save_pack(const Ref &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.