Pro Evolution Soccer 2016/zlib
Pro Evolution Soccer 2016
zlib is the library used by PES for file compression. While zlib is a very general method for file compression, Konami has edited it very slightly for use in PES. If for example a *.dds file appears to be broken or a text file only displays gibberish, it is likely that it is just compressed with zlib. This page will explain in several sections how you can recognize zlib, what files generally use zlib and when you use it, how you can unzlib and zlib files yourself, some general reminders and as last the download section.
As described in the Introduction, zlib is the reason 99% of the time why the texture you ripped from PES won't open in Photoshop or any other image editor. Photoshop will give the error Could not complete your request because the file-format module cannot parse the file. Usually Explorer also won't show a preview in the thumbnail of the texture either (provided you had DDS preview thumbnails to begin with). A .xml file with zlib will usually show nothing when it is opened. Although if you open it with a text editor (like Notepad) it should read WESYS at the start of the file and this goes for .mtl and .bin files as well. WESYS is the header of zlibbed files for PES. Most MODEL-files in PES are usually zlibbed as well. A general way to check whether something is zlibbed or not is to just open the file in a hex editor and check the header of the file. Keep in mind that not all files in PES have to be zlibbed when you extracted them.
What uses and when do you use zlib
While PES does not care whether files are zlibbed or not for almost all files, there are some files for which it is (kinda) useless. At this moment it is not known whether PES only takes some files when they are not zlibbed. Generally you can always zlib .dds, .model, .mtl, .xml and .bin files. Zlibbing .png files is useless as it will not save any file size. Most of the time PES also does not zlib very small files, usually only those >10 kB. So as rule of thumb it is advised to only ever zlib .dds and .model files that are over 10 kB. It's easier when .mtl, .xml and .bin files are not zlibbed for easy reading/understanding.
(Un)zlibbing files yourself
To (un)zlib files yourself you can use the tools you can download below Downloads. While both tools generally do the same, they work slightly different each. Both work by opening the executable and dropping your file on either the to 'zlib' or to 'unzlib' image.
The decrypt_2013.exe only allows you to (un)zlib one file at a time. When you zlib a file it will not create a backup, but it will create a backup when unzlibbing. To get the original zlibbed file back just remove the .backup at the end of the file.
The PES Edit-Crypter 1.2.exe allows you to (un)zlib multiple files at a time. However it will always create a new file with zlib_ or unzlib_ as prefix leaving the original file untouched. Make sure the Input Format is set to PC. It's also not necessary to enable Multiple unZlib to unzlib multiple files, the tool will always do this if you drop multiple files.
- Make sure to not zlib the same file more than once. You might not always get a warning and PES will simply report corrupted data or even crash.
- Files zlibbed with general zlib commands (e.g. through Python's zlib API) will not work in PES without prepending the special header expected by PES.
- For aesthetic exports it is advised to keep .mtl, .xml and .bin files unzlibbed for easy checking.
- Make sure that for aesthetic exports you unzlib the file before you check its file size.
- Some PES modding tools only accept either unzlibbed or zlibbed files. Try the other option if one fails.
- The Decrypting and Encrypting functions in the zlib tools are only used for the PES14 and 15 EDIT.BIN, so don't use them on other files.