Attention: Here be dragons (unstable version)
This is the latest
(unstable) version of this documentation, which may document features
not available in or compatible with released stable versions of Redot.
Checking the stable version of the documentation...
ZIPPacker
Inherits: RefCounted < Object
Allows the creation of ZIP files.
Description
This class implements a writer that allows storing the multiple blobs in a ZIP archive. See also ZIPReader and PCKPacker.
# Create a ZIP archive with a single file at its root.
func write_zip_file():
var writer = ZIPPacker.new()
var err = writer.open("user://archive.zip")
if err != OK:
return err
writer.start_file("hello.txt")
writer.write_file("Hello World".to_utf8_buffer())
writer.close_file()
writer.close()
return OK
Properties
|
Methods
close() |
|
start_file(path: String) |
|
write_file(data: PackedByteArray) |
Enumerations
enum ZipAppend: 🔗
ZipAppend APPEND_CREATE = 0
Create a new zip archive at the given path.
ZipAppend APPEND_CREATEAFTER = 1
Append a new zip archive to the end of the already existing file at the given path.
ZipAppend APPEND_ADDINZIP = 2
Add new files to the existing zip archive at the given path.
enum CompressionLevel: 🔗
CompressionLevel COMPRESSION_DEFAULT = -1
Start a file with the default Deflate compression level (6). This is a good compromise between speed and file size.
CompressionLevel COMPRESSION_NONE = 0
Start a file with no compression. This is also known as the "Store" compression mode and is the fastest method of packing files inside a ZIP archive. Consider using this mode for files that are already compressed (such as JPEG, PNG, MP3, or Ogg Vorbis files).
CompressionLevel COMPRESSION_FAST = 1
Start a file with the fastest Deflate compression level (1). This is fast to compress, but results in larger file sizes than COMPRESSION_DEFAULT. Decompression speed is generally unaffected by the chosen compression level.
CompressionLevel COMPRESSION_BEST = 9
Start a file with the best Deflate compression level (9). This is slow to compress, but results in smaller file sizes than COMPRESSION_DEFAULT. Decompression speed is generally unaffected by the chosen compression level.
Property Descriptions
The compression level used when start_file() is called. Use CompressionLevel as a reference.
Method Descriptions
Closes the underlying resources used by this instance.
Stops writing to a file within the archive.
It will fail if there is no open file.
Error open(path: String, append: ZipAppend = 0) 🔗
Opens a zip file for writing at the given path using the specified write mode.
This must be called before everything else.
Error start_file(path: String) 🔗
Starts writing to a file within the archive. Only one file can be written at the same time.
Must be called after open().
Error write_file(data: PackedByteArray) 🔗
Write the given data to the file.
Needs to be called after start_file().