Site hosted by Build your free website today!
Stormless MPQ Editor
Great news everybody! [8/22/2000]
  MPQ Editor 1.3 beta 1 released! Lots of bug-fixes and new features.
Added ability to add  new files and to add folder with files retaining its hierarchy
Added ability to extract files and recreate their hierarchy in MPQ on disk
Works correctly with all known MPQ variants (Diablo I/II, Hellfire, Starcraft)
Added ability to create new MPQ archives
  Source code of Stormless MPQ engine released!
Source code of engine in form of sample console application
You will learn a lot about MPQ file format by reading the code
MPQ Editor 1.3b1
Sample Console App source code
MPQ Editor 1.2
Inline F.A.Q.
  What is MPQ?
File format used by Blizzard Entertainment in their games. MPQ file holds compressed graphics, sounds, sprites, etc. Think of it as ZIP-like archive (or SIT-like if you are on the Macintosh) of the all game-related things. MPQ archives were first introduced with the game "Diablo".
  What is "Storm"?
Name for the library used for access individual files inside MPQ archives and doing various stuff for the game itself. On the Windows side it has name "Storm.dll" on the Mac side it's just "Storm" (Storm library was static linked with Mac Diablo and appeared as separate file only with Mac Starcraft.)
  What is MPQ Viewer?
Application used to access files inside MPQ archives. MPQ viewers are created by independent developers and use Storm library as engine to extract files form the MPQ archives. Until Mac Starcraft hit the road there was no way to develop MPQ viewer for the Macintosh using Blizzard's Storm library as engine (because there was no library you may link with.)
  What is Archive filelist?
MPQ archives don't store file names inside them instead archives contain table of hashed names, so if you don't know name of the file you want to access you can't access it. It's not stupid as you may think - table of hashed names acts like index table for fast access to file and of course developers of the game know all of the file names. Because of this problem MPQ viewers introduced so-called "game filelist" with file names stored in it and viewers can access file only if its name is listed in that filelist. Here are some list files for ya:
Listfile (Diablo I, Hellfire, StarCraft, BroodWar)
Listfile (Diablo II) (It comes with MPQ Editor 1.3 beta 1, so do not download it second time!)
  What is Stormless MPQ editor and why would I need it?
The guy called himself Tom Amigo developed (with a little help of AK74) application what doesn't use Storm library to deal with MPQ archives, it does all the stuff in its own way and has few noticeable advantages over the Storm-based viewers. At first it can extract file even if you don't know its name (i.e. name of the file is not listed in the filelist.) Second it allows you to  edit MPQ archives, you can replace graphic or sound with your own. So it's not just a plain viewer but editor as well.
  Why did new version of MPQ Editor take so much time?
OK, in private E-Mail conversations I promised to release new version shortly, but I couldn't do it. Remember, MPQ Editor is a side project and therefore I don't devote too much time to it. And because I'm not interested in cheating, making conversions and so on, so I have no real means supporting/developing it further. I promised to release it and I keep the word: I released beta version that seems working with Diablo II files correctly, depending on spare time I will have I'll try to finish it. In any way it will be the last version of MPQ Editor.
   Could you send me specs of MPQ file format or source code of MPQ Editor?
The specification will be available on this site shortly (probably ;) Speaking about sources, I don't want to release source code of MPQ Editor just to see a bunch of applications popping up having only a few lines of code changed with names like "Advanced MPQ Editor", "Coolest MPQ Editor by CoOlEsT HaCkEr oF ThE WorlD", "SUPER BEST PROGRAM FOR HACKING BLIZZARD MPQ", you got the idea. Instead I wrote sample console app to work with MPQ archives, it allows you to list and extract files from archives (including files not listed in the listfile.) The code to modify archives is not included because it is glued to GUI code and I was too lazy to change it. Anyway, you may add code to modify archives if you understand sample app code. Designing of good GUI is up to you.
  Why is there no information about Stormless MPQ Editor?
Say "thank you" to Camelot Systems and King Arthur personally. They did their best to keep information about Stormless MPQ Editors away from interested readers. But looks like their politic has changed. I wrote this application not to gain money or rise my ego (see Q about history), so it is not a problem for me.
   What do I need to see *.bik, *.cel, *.cl2, *.grp, *.dc6, etc. files?
Visit RAD Game Tools for a tool to play .bik files (look for "The RAD Video Tools")
Visit to get a viewer for .cel/.cl2 (Diablo I), .grp(Starcraft), .dc6 (Diablo II)
Other types: look for the information on Diablo II related sites.
   Why did you make Stormless MPQ Editor?
Spring1998, two pals Tom Amigo and AK74 were drinking beer and talking about everything, suddenly the chat about nothing turned into discussion about various game's data file formats, AK74 said what MPQ file format should look similiar to PAK, open file format for Quake I/II games, he was simply wrong.
We decided to see if closed/undocumented file format really leads to better security and cheat preventing. You can see the result. A few words to Blizzard folks: your data encryption method is so weak, so it allows to find a decryption key in just 256 not-so-processor-heavy iterations! (decryption key normally doesn't exist for files with unknown names, see "What is Stormless MPQ editor and why would I need it?")
Tom Amigo