squall/README.md

73 lines
2.8 KiB
Markdown
Raw Normal View History

2020-11-12 18:56:03 -06:00
# Squall
2020-09-08 23:03:57 -05:00
2020-11-12 18:56:03 -06:00
Squall is an unofficial open source implementation of the Storm standard
2025-09-01 15:20:00 -05:00
library.
2020-09-08 23:03:57 -05:00
The Storm standard library is a collection of data structures and functions
created by the talented folks at Blizzard Entertainment for use in their
games.
This project attempts to provide a version of Storm compatible with the
version used in the final release build of World of Warcraft: Wrath of the
Lich King in 2010: 3.3.5a (12340).
2025-09-01 15:20:00 -05:00
Squall also attempts to provide versions of Storm that work with other
projects centered around classic Blizzard games, like
[Starsurgical](https://github.com/Starsurgical). Note that Squall does not
natively support being built as a dynamic library, although it may support
such scenarios in the future.
2020-09-08 23:03:57 -05:00
In the spirit of documenting what is presumed to have existed at the time,
this project makes every attempt to maintain the canonical names, layouts, and
side effects of the original implementation of Storm. At the same time, it
attempts to ensure portability and compatibility with modern 64-bit systems.
2025-09-01 15:20:00 -05:00
## Storm Flavors
Squall supports different flavors depending on the type of project consuming
it. These flavors can be configured by setting a CMake variable called
`WHOA_STORM_FLAVOR`:
- `WOW`: Ensures the resulting build is compatible with World of Warcraft
3.3.5a (12340)
- `SC1`: Ensures the resulting build is compatible with StarCraft 1.16/1.17
Flavors control groups of behavior-related defines. These defines can be used
on their own if the groups defined by the flavors are not desired.
2020-09-08 23:03:57 -05:00
## FAQ
**Why?**
It's fascinating to explore the development practices used to build a modern
major video game.
2025-09-01 15:20:00 -05:00
**Why does Squall focus on specific game versions?**
2020-09-08 23:03:57 -05:00
2025-09-01 15:20:00 -05:00
Storm changed a lot over the years it was used. By focusing on specific
versions of the games that used Storm, it's possible to imagine this
2020-09-08 23:03:57 -05:00
implementation will eventually be complete.
2025-09-01 15:20:00 -05:00
**Will this let me cheat in a game?**
2020-09-08 23:03:57 -05:00
No. Storm is a standard library, and none of its routines are particularly
2025-09-01 15:20:00 -05:00
relevant to the anti-cheat measures found in the games that used it.
2020-09-08 23:03:57 -05:00
**Can I use this in my own development projects?**
2025-09-01 15:20:00 -05:00
Maybe. Keep in mind the original library remains closed source and this
project is in no way sanctioned or official. Also keep in mind that C++, its
standard library, and OS-provided capabilities like memory management,
networking stacks, and rendering frameworks have substantially improved since
the 1990s-2010.
2020-09-08 23:03:57 -05:00
## Legal
2025-09-01 15:20:00 -05:00
This project is released into the public domain. No claim is made to any
intellectual property contained in this project.
2020-09-08 23:03:57 -05:00
World of Warcraft: Wrath of the Lich King ©2008 Blizzard Entertainment, Inc.
All rights reserved. Wrath of the Lich King is a trademark, and World of
Warcraft, Warcraft and Blizzard Entertainment are trademarks or registered
trademarks of Blizzard Entertainment, Inc. in the U.S. and/or other countries.