Jump to content

Blizzard Entertainment:Storm: Difference between revisions

From Thunderbrew
No edit summary
No edit summary
Line 23: Line 23:
* Data structures: Storm implements C++ data structures for arrays, linked lists and hash tables.
* Data structures: Storm implements C++ data structures for arrays, linked lists and hash tables.
* Threads: Facilitates the creation of threads across different platforms.
* 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.
* Asset compression/obfuscation: one of Storm's main uses was to provide utilities for the [[Blizzard Entertainment:MPQ|MPQ]] format.


== StormLib ==
== StormLib ==

Revision as of 05:01, 14 June 2025

"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)."

zezula.net, Storm.dll

The Storm library is used extensively by World of Warcraft.

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/obfuscation: one of Storm's main uses was to provide utilities for the MPQ format.

StormLib

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. It is very stable and has a good track record of working with a wide assortment of MPQs, both old and new.

Thunderbrew currently utilizes StormLib to support directly loading assets from MPQ.

Reimplementations

Whoa and Thunderbrew attempt to recreate Storm, as it existed in 2010, as free and open-source software under the name squall.