summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYuri Sizov <yuris@humnom.net>2024-01-24 14:07:41 +0100
committerYuri Sizov <yuris@humnom.net>2024-01-24 14:07:41 +0100
commite8f33a74ff9e19bf1f44b2c10725d23d07e4b12e (patch)
tree0ee0eff81728cd72008bd6f95822f571f58bc600
parent79d818478f30157f3c6e2fd2dd195b857f2d6404 (diff)
parent4850b866e84ee49cf494dd85813f4b74f816897c (diff)
downloadredot-engine-e8f33a74ff9e19bf1f44b2c10725d23d07e4b12e.tar.gz
Merge pull request #81689 from AThousandShips/compress_doc
Clarify `PackedByteArray.decompress*` limitations with external data
-rw-r--r--doc/classes/PackedByteArray.xml2
1 files changed, 2 insertions, 0 deletions
diff --git a/doc/classes/PackedByteArray.xml b/doc/classes/PackedByteArray.xml
index a934d32a6d..c5f522ba10 100644
--- a/doc/classes/PackedByteArray.xml
+++ b/doc/classes/PackedByteArray.xml
@@ -174,6 +174,7 @@
<param index="1" name="compression_mode" type="int" default="0" />
<description>
Returns a new [PackedByteArray] with the data decompressed. Set [param buffer_size] to the size of the uncompressed data. Set the compression mode using one of [enum FileAccess.CompressionMode]'s constants.
+ [b]Note:[/b] Decompression is not guaranteed to work with data not compressed by Godot, for example if data compressed with the deflate compression mode lacks a checksum or header.
</description>
</method>
<method name="decompress_dynamic" qualifiers="const">
@@ -184,6 +185,7 @@
Returns a new [PackedByteArray] with the data decompressed. Set the compression mode using one of [enum FileAccess.CompressionMode]'s constants. [b]This method only accepts brotli, gzip, and deflate compression modes.[/b]
This method is potentially slower than [method decompress], as it may have to re-allocate its output buffer multiple times while decompressing, whereas [method decompress] knows it's output buffer size from the beginning.
GZIP has a maximal compression ratio of 1032:1, meaning it's very possible for a small compressed payload to decompress to a potentially very large output. To guard against this, you may provide a maximum size this function is allowed to allocate in bytes via [param max_output_size]. Passing -1 will allow for unbounded output. If any positive value is passed, and the decompression exceeds that amount in bytes, then an error will be returned.
+ [b]Note:[/b] Decompression is not guaranteed to work with data not compressed by Godot, for example if data compressed with the deflate compression mode lacks a checksum or header.
</description>
</method>
<method name="duplicate">