You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-11-09 12:50:35 +00:00
Merge pull request #107482 from nikitalita/fix-pck-misalign
PCKPacker: Fix first file being written mis-aligned
This commit is contained in:
@@ -111,6 +111,12 @@ Error PCKPacker::pck_start(const String &p_pck_path, int p_alignment, const Stri
|
|||||||
file->store_32(0); // Reserved.
|
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_base = file->get_position();
|
||||||
file->seek(file_base_ofs);
|
file->seek(file_base_ofs);
|
||||||
file->store_64(file_base); // Update files base.
|
file->store_64(file_base); // Update files base.
|
||||||
|
|||||||
@@ -1966,6 +1966,12 @@ Error EditorExportPlatform::save_pack(const Ref<EditorExportPreset> &p_preset, b
|
|||||||
f->store_32(0); // Reserved.
|
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();
|
uint64_t file_base = f->get_position();
|
||||||
f->seek(file_base_ofs);
|
f->seek(file_base_ofs);
|
||||||
f->store_64(file_base - pck_start_pos); // Update files base.
|
f->store_64(file_base - pck_start_pos); // Update files base.
|
||||||
|
|||||||
Reference in New Issue
Block a user