- ATTRIBUTION.md: removed GLEW (not used — no glew.h includes, no
find_package(GLEW) in CMakeLists.txt); added the libraries that
ARE actually used (Vulkan, vk-bootstrap, zlib, FFmpeg, Lua, Catch2,
nlohmann/json, stb, FidelityFX-FSR2). OpenSSL row clarified for 3.x.
- container/{builder-linux,builder-macos,builder-windows}.Dockerfile:
drop libglew-dev / vcpkg 'glew' — nothing links against GLEW, so
these were dead weight in the images.
- container/FLOW.md: matched the Dockerfile changes.
- docs/perf_baseline.md: Tracy is NOT vendored — building with
WOWEE_ENABLE_TRACY=ON references extern/tracy/ which doesn't exist.
Documented the required 'git clone' step. Also corrected the
M2::computeBoneMatrices / M2Renderer::update file paths
(m2_renderer_internal.h and m2_renderer_render.cpp, not
m2_renderer.cpp).
3.7 KiB
Attribution
This project was made possible by the work of the WoW modding and reverse-engineering community. We gratefully acknowledge the following resources and projects:
Documentation
WoWDev Wiki
The WoWDev Wiki is a community-maintained resource documenting World of Warcraft file formats and protocols. This project's file format parsers were implemented based on specifications from the wiki:
- ADT (terrain) - Terrain tile format
- M2 (models) - Character and creature model format
- WMO (buildings) - World model object format
- BLP (textures) - Blizzard picture format
- DBC (database) - Database client file format
- World Packet - Network protocol opcodes
Reference Implementations
TrinityCore
https://github.com/TrinityCore/TrinityCore
Open-source WoW server emulator. Referenced for understanding server-side protocol behavior and packet structures.
MaNGOS / CMaNGOS
https://github.com/cmangos/mangos-wotlk
Open-source WoW server emulator. Referenced for protocol documentation and authentication flow.
AzerothCore
https://github.com/azerothcore/azerothcore-wotlk
Open-source WoW 3.3.5a server. Referenced for SRP6 authentication details, update field indices, and packet structures.
Libraries
This project uses the following open-source libraries:
| Library | License | Purpose |
|---|---|---|
| SDL2 | zlib | Window management, input handling |
| Vulkan (loader + headers) | Apache 2.0 | Graphics API |
| vk-bootstrap | MIT | Vulkan instance/device boilerplate |
| GLM | MIT | Mathematics library |
| OpenSSL | Apache 2.0 (OpenSSL 3.x) | Cryptographic functions (SRP6, RC4, RSA) |
| zlib | zlib | Decompression for DBC/M2/packet payloads |
| FFmpeg (libav*) | LGPL 2.1 | Video playback (cinematics) |
| Unicorn Engine | LGPL 2 | x86 CPU emulation for Warden module execution |
| miniaudio | MIT/Unlicense | Audio playback |
| StormLib | MIT | MPQ archive extraction (asset_extract tool) |
| Dear ImGui | MIT | Immediate mode GUI |
| Lua 5.1.5 | MIT | Macro and addon script execution |
| Catch2 (amalgamated) | BSL-1.0 | Test framework (test build only) |
| nlohmann/json | MIT | JSON parsing (opcode tables, manifests) |
| stb_image / stb_image_write | MIT/Public Domain | PNG/JPG decode and write |
| AMD FidelityFX FSR2 | MIT | Optional temporal upscaling |
Cryptographic Standards
The SRP6 authentication implementation follows:
- RFC 2945 - The SRP Authentication and Key Exchange System
- RFC 5054 - Using SRP for TLS Authentication
Legal Notice
World of Warcraft is a trademark of Blizzard Entertainment, Inc. This project is not affiliated with or endorsed by Blizzard Entertainment.
This project does not include any Blizzard Entertainment proprietary data, assets, or code. All file format parsers were implemented independently based on publicly available community documentation.
Users must supply their own legally obtained WoW 3.3.5a game data files to use this software.