Blizzard Entertainment:Storm: Difference between revisions
No edit summary |
No edit summary |
||
| Line 9: | Line 9: | ||
<blockquote> | <blockquote> | ||
"Blizzard games released since 1996 to 2004 (Diablo, Diablo II, Starcraft, Warcraft II and Warcraft III) shipped with Storm.dll, a dynamic library that contained functions that were able to read data from the archives. This DLL also contained memory management functions, network support, compression functions and other. There was also a Mac version of this library, named Storm.bin. Storm.dll only contained functions for reading MPQs. The MPQ writing functions (saving games, creating maps etc.) were compiled inside the main game executable." | "Blizzard games released since 1996 to 2004 (Diablo, Diablo II, Starcraft, Warcraft II and Warcraft III) shipped with Storm.dll, a dynamic library that contained functions that were able to read data from the archives. This DLL also contained memory management functions, network support, compression functions and other. There was also a Mac version of this library, named Storm.bin. Storm.dll only contained functions for reading MPQs. The MPQ writing functions (saving games, creating maps etc.) were compiled inside the main game executable." | ||
... | |||
Since Warcraft III version 1.29.2.9231, storm.dll is no longer used by any Blizzard game. The code is entirely included in the main executable (i.e. Warcraft III.exe). | |||
— [http://www.zezula.net/en/mpq/stormdll.html zezula.net, ''Storm.dll''] | — [http://www.zezula.net/en/mpq/stormdll.html zezula.net, ''Storm.dll''] | ||
| Line 17: | Line 21: | ||
== Features == | == Features == | ||
* | * Data structures: Storm implements C++ data structures for arrays, linked lists and hash tables. | ||
* Threads: Facilitates the creation of threads across different platforms. | |||
* Asset compression/obfuscations: one of Storm's main uses was to provide utilities for the [[Blizzard Entertainment:MPQ|MPQ]] format. | |||
== StormLib == | == StormLib == | ||
| Line 23: | Line 29: | ||
'''Note: StormLib is a library for creating and reading from MPQ archives. Unlike not implement the whole set of features present in Storm.''' | '''Note: StormLib is a library for creating and reading from MPQ archives. Unlike not implement the whole set of features present in Storm.''' | ||
StormLib was created as a free and open source implementation of the MPQ features from Storm.dll. | |||
StormLib is very stable and has a good track record of being able to work with a wide range of MPQ archives, both old and new. | StormLib is very stable and has a good track record of being able to work with a wide range of MPQ archives, both old and new. | ||