All you need to know about precompression
Most of the games these days use to compress their games before publishing. Generally we know that a game contains audio, texture, video and etc. But we don't see well known files of these types in every games. That is because they make a compressed archive with all the files required for the game. A file that is compressed can't be compressed again. But if we unpack game files and recompress them again, in most of the cases we lost CRC and in some cases the game refuses to run. So to keep the files CRC-Perfect and achieve better compression, we need to precompress them. Precompressors decompresses contents of the game and restores them with perfect condition and 100% CRC match.
In the old days, most of the games were compressed using zlib. Zlib is a well known free and open source data compressor. Zlib uses huffman, that means if we don't precompress, we are not able to achieve a bit of compression of zlibbed files. PRECOMP was well known and the first zlib precompressor to do this stuff. In 2011, reflate - universal zlib precompressor was born in encode.ru but still precomp was mostly used because of reflate's slow speed during recompression and instability. In 2015, GTA V, a game with zlib streams without zlib headers (known as deflate method) was released, precomp was unable to precompress this game. Then, the repackers need to use reflate, which worked very well on GTA V and was able to compress it with 50% ratio. But reflate was slow and so GTA V, Mad Max and other games using reflate used to decompress very slowly. In 2016, Razor12911 released pZlib which was better than precomp in terms of speed and gave same ratio. In december 2016, we received pZlib v3(and v2 before a month, but that was buggy) which was very powerful and fast as hell. Now we have xtool which is even faster than pZlib and gives better ratio. Use it and leave precomp, it will be better.
Now games uses other methods too, they are not using zlib only, so you can't only be happy with pzlib/reflate/precomp. Like Far Cry series uses lzo and lz4, Assassin's Creed series uses lzo and oodle, Need for Speed uses lz4 and oodle, mass effect Andromeda used zstd, unreal engine games use lzo and unity uses lz4 etc. To precompress them, we need to use various precompressors according to game, not a single universal one.
__________________
NOT AVAILABLE
|