MCPcopy Create free account
hub / github.com/GDRETools/gdsdecomp / decompress_buf

Function decompress_buf

bytecode/bytecode_base.cpp:177–189  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

175}
176
177int decompress_buf(const Vector<uint8_t> &p_buffer, Vector<uint8_t> &contents) {
178 ERR_FAIL_COND_V(p_buffer.size() < 12, -1);
179 const uint8_t *buf = p_buffer.ptr();
180 int decompressed_size = decode_uint32(&buf[8]);
181 int result = 0;
182 if (decompressed_size == 0) {
183 contents = p_buffer.slice(12);
184 } else {
185 contents.resize(decompressed_size);
186 result = Compression::decompress(contents.ptrw(), contents.size(), &buf[12], p_buffer.size() - 12, Compression::MODE_ZSTD);
187 }
188 return result;
189}
190
191#define GDSC_HEADER "GDSC"
192#define CHECK_GDSC_HEADER(p_buffer) _GDRE_CHECK_HEADER(p_buffer, GDSC_HEADER)

Callers 2

test_bytecode_matchMethod · 0.85

Calls 2

sizeMethod · 0.45
resizeMethod · 0.45

Tested by 1

test_bytecode_matchMethod · 0.68