cipherxof/PHP-MPQ

gzinflate(): data error

Closed this issue · 4 comments

Hi there,
i'm using you lib to extract data from the world of warcraft client (3.3.5.12340) and this error pops up regularly.

source of error: mpq.php#L479

The extracted files appear to be fine though.
So, is this relevant or can this be safely ignored..?

Try the newest update. Now gzip is only tried when MPQ_COMPRESS_DEFLATE is found, or the blocksize doesn't match the expected filesize.

Before it would try gzip regardless, because there were some archives which only worked for me when I did so. However this approach seems better.

By the way, I haven't been able to get this to work with the vanilla wow MPQs yet, so I'm not sure what the differences are between that and wotlk.

Hm, your changes in mpq.crypto.php broke the process for me, as MPQArchive::getFileInfo() now returns an empty array.

If i undo the changes to that file extraction works once again, but the original warning persists.

i uploaded one of the smaller archives for reference here: https://transfer.sh/DtktV/patch-enUS-3.MPQ

using Kanmas MPQExtractor as reference and comparing both outputs with diff -q -y -r ~/tmpMPQ/ ~/tmpMPQ2/, there really isn't a difference between the extracted files

... when they are extracted, but this leads into #3 :/

All should be fixed now. Let me know if the gzinflate warnings are gone so I can close the issue.

no, the warning is still logged, though more audio files then before fail to extract.

But since i rely on the audio files and there are no plans to implement the required compression methods i'll have to pass for now.