ShadowFlare's Realm
ShadowFlare's Realm Forums >> Program Development >> Can't extract files from WoW-patches!

Message started by silkfire on Nov 24th, 2005, 7:42am

Title: Can't extract files from WoW-patches!
Post by silkfire on Nov 24th, 2005, 7:42am

This is a great utility, really. I had 2 problems with it, one has been solved (the overflow error) one has not. I'd like WinMPQ to correctly extract files from the patches (*.exe). If you extract a text file, for example, it turns out emty. Other files become useless. Any one knows the compression technique in a patch? You can view all the files fine, and extract as well, but it extracts them incorrectly.

Title: Re: Can't extract files from WoW-patches!
Post by ShadowFlare on Dec 3rd, 2005, 8:17pm

The new compression method is called BZip2, I think.  BTW, you could try putting WoW's storm.dll in the same folder as WinMPQ.  SFMPQ is programmed such that it will load storm.dll for the decompression if it encounters an unrecognized compression method.

In the past when Warcraft III came out, before I added the new compression method it used, I had it find where Warcraft III was installed and use storm.dll from there.  After I got the new compression method from it implemented (which turned out to be zlib), I commented out that section of code, so right now it only looks in its own folder for storm.dll when it needs it.  For now I could uncomment that section of code and modify it to search for WoW.  I'll need to know of a place in the registry that specifies where WoW is installed and if storm.dll is in a subfolder, which one.  This is because I don't have WoW and I may never have it, since I don't want to pay the monthly fee.

Of course, this isn't the only thing that needs to be done.  WoW has a new way that it can store compressed files such that the file isn't divided into blocks, but rather compressed all at once.  I also need to implement that in SFMPQ.

Title: Re: Can't extract files from WoW-patches!
Post by silkfire on Dec 5th, 2005, 9:43am

ok, thanx for the answer  :)
well, guess you don't have WoW, cause you wouldn't speak about the storm library then. The thing is, all MPQ-specific code (extraction etc.) is now stored internally in the gamefile WoW.exe so Blizzard ha hid all the code there, unfotunately...

Title: Re: Can't extract files from WoW-patches!
Post by Kodo on Dec 6th, 2005, 7:48pm

There's no storm.dll in WoW. At all  :-/
List of dll's loaded when WoW is running...

0x00320000 - 0x003B0000  C:\Games\WoW\fmod.dll
0x00400000 - 0x00AD2000  C:\Games\WoW\WoW.exe
0x08330000 - 0x08401000  C:\Games\WoW\dbghelp.dll
0x10000000 - 0x10069000  C:\Games\WoW\DivxDecoder.dll
0x4FD70000 - 0x4FF16000  C:\WINDOWS\system32\d3d9.dll
0x5D5B0000 - 0x5D647000  C:\WINDOWS\system32\COMCTL32.dll
0x5F220000 - 0x5F2EC000  C:\WINDOWS\system32\OPENGL32.dll
0x5FF90000 - 0x5FFB1000  C:\WINDOWS\system32\GLU32.dll
0x698B0000 - 0x69908000  C:\WINDOWS\system32\hnetcfg.dll
0x6DF20000 - 0x6DF26000  C:\WINDOWS\system32\d3d8thk.dll
0x71A30000 - 0x71A70000  C:\WINDOWS\system32\mswsock.dll
0x71A70000 - 0x71A78000  C:\WINDOWS\System32\wshtcpip.dll
0x71A80000 - 0x71A88000  C:\WINDOWS\system32\WS2HELP.dll
0x71A90000 - 0x71AA7000  C:\WINDOWS\system32\WS2_32.dll
0x71AB0000 - 0x71ABA000  C:\WINDOWS\system32\WSOCK32.dll
0x71BD0000 - 0x71BE3000  C:\WINDOWS\system32\SAMLIB.dll
0x72CD0000 - 0x72CD8000  C:\WINDOWS\system32\msacm32.drv
0x72CE0000 - 0x72CE9000  C:\WINDOWS\system32\wdmaud.drv
0x73720000 - 0x73769000  C:\WINDOWS\system32\DDRAW.dll
0x73B80000 - 0x73B86000  C:\WINDOWS\system32\DCIMAN32.dll
0x73EA0000 - 0x73EA4000  C:\WINDOWS\system32\KsUser.dll
0x73ED0000 - 0x73F2C000  C:\WINDOWS\system32\dsound.dll
0x746E0000 - 0x7472B000  C:\WINDOWS\system32\MSCTF.dll
0x76360000 - 0x7637D000  C:\WINDOWS\system32\IMM32.dll
0x76B20000 - 0x76B4E000  C:\WINDOWS\system32\WINMM.dll
0x76C20000 - 0x76C4E000  C:\WINDOWS\system32\WINTRUST.dll
0x76C80000 - 0x76CA8000  C:\WINDOWS\system32\IMAGEHLP.dll
0x76F50000 - 0x76F7D000  C:\WINDOWS\system32\WLDAP32.dll
0x77110000 - 0x7719C000  C:\WINDOWS\system32\OLEAUT32.dll
0x771A0000 - 0x77246000  C:\WINDOWS\system32\WININET.dll
0x773C0000 - 0x774C2000  C:\WINDOWS\WinSxS\x86_Microsoft.Windows.Common-Controls_6595b64144ccf1df_6.0.2600.2180_x-ww_a84f1ff9\comctl32.dll
0x774D0000 - 0x7760C000  C:\WINDOWS\system32\ole32.dll
0x77680000 - 0x776A1000  C:\WINDOWS\system32\NTMARTA.DLL
0x77A70000 - 0x77B05000  C:\WINDOWS\system32\CRYPT32.dll
0x77B10000 - 0x77B22000  C:\WINDOWS\system32\MSASN1.dll
0x77BC0000 - 0x77BC7000  C:\WINDOWS\system32\midimap.dll
0x77BD0000 - 0x77BE5000  C:\WINDOWS\system32\MSACM32.dll
0x77BF0000 - 0x77BF8000  C:\WINDOWS\system32\VERSION.dll
0x77C00000 - 0x77C58000  C:\WINDOWS\system32\MSVCRT.dll
0x77D30000 - 0x77DC0000  C:\WINDOWS\system32\USER32.dll
0x77DC0000 - 0x77E6C000  C:\WINDOWS\system32\ADVAPI32.dll
0x77E70000 - 0x77F01000  C:\WINDOWS\system32\RPCRT4.dll
0x77F10000 - 0x77F56000  C:\WINDOWS\system32\GDI32.dll
0x77F60000 - 0x77FD6000  C:\WINDOWS\system32\SHLWAPI.dll
0x77FE0000 - 0x77FF1000  C:\WINDOWS\system32\Secur32.dll
0x7C800000 - 0x7C8F6000  C:\WINDOWS\system32\kernel32.dll
0x7C900000 - 0x7C9B1000  C:\WINDOWS\system32\ntdll.dll
0x7C9C0000 - 0x7D1D8000  C:\WINDOWS\system32\SHELL32.dll

Title: Re: Can't extract files from WoW-patches!
Post by ShadowFlare on Dec 7th, 2005, 2:29am

Are there any small WoW mpq archives that you could send to me that contain files that SFMPQ can't decompress properly?  If so, it would help a lot with getting it implemented, since I would have something with which to test extraction of those files.  You can e-mail it to me if you want.  Just send me an e-mail telling me you are sending an attachment right before you send the one with the attachment.

Title: Re: Can't extract files from WoW-patches!
Post by silkfire on Dec 7th, 2005, 1:00pm

Sure, except the patches are usually around 100 MB. I have a smaller patch that is around 25 MB, but I believe it's too big to attach in a mail. So when I come home, I'll upload the patch and send you a link to it, so you can use it for testing purposes. Thanx!

PS. Should I write to your Hotmail?


ShadowFlare's Realm » Powered by YaBB 2.2.1!
YaBB © 2000-2008. All Rights Reserved.