4 Commits

Author SHA1 Message Date
Kawe Mazidjatari
90d87897f8 Improve consistency within the LZHAM library
Make CRC32 consistence with ADLER32
2022-11-17 20:35:43 +01:00
Kawe Mazidjatari
a4783a755e Fix memory leak
Access checksum objects directly vs pointer reference. Structure size equals a 64 bit pointer (fits into a single register).
Allocated memory was never deallocated (my mistake).
2022-06-05 03:01:10 +02:00
Kawe Mazidjatari
22029abfc2 Fixed compression bug for VPK system
Fixed bug where the compressed buffer size equals the source buffer size getting packed into the VPK chunk. In all occurrences this resulted in corrupted data upon export.

The reason for data being corrupt upon export is because the engine checks the equality of the compressed and decompressed size fields in the directory file, if they are equal, the engine doesn't attempt to decompress the block. So we end up with a still compressed block on the disk (technically not corrupt in the context of the compression lib, but useless as-is on the disk).

If a compressed file doesn't get lower in size we are better out storing it rather than compressing it.

Added a new condition in lzham::lzham_lib_compress_memory which checks source and destination buffer size equality.
2022-06-05 02:24:44 +02:00
Amos
b80be10c4d Compile LZHAM with the solution. Fix missing detours files for sdklauncher 2022-01-06 15:08:39 +01:00