📈 GH Trending Explorer 🎲 Surprise me

← all repos

SatyPardus / wowdecomp15595

git clone https://github.com/SatyPardus/wowdecomp15595.git

—

+3
stars, 24h · #8,482
+38
stars, 7 days · #5,035
+38
stars, 30 days · #16,857
38
★ total · +38% this week
27
forks · 3 open issues

Star history (as recorded here)

2026-10-20 · 35 ★ 2026-10-23 · 38 ★
LanguageC++
License—
Created2026-10-16 (7d ago)
Last push7d ago
Watchers4
OwnerUser

Links

README excerpt
# wowdecomp15595
A C++ decompilation of the World of Warcraft 4.3.4 client (build 15595, Cataclysm).
Every function is reconstructed from the original binaries and keeps the address it came from in an
`// OFFSET:` tag, so each one can be compared against the original. The source tree follows the layout
of the original client (`Engine/Source/ `, `WoW/Source/ `, original file names).
Two original binaries are used as references:
| Binary | Architecture |
|---|---|
| `Wow.exe` 4.3.4.15595 | x86 (32-bit) |
| `Wow-64.exe` 4.3.4.15595 | x64 (64-bit) |
x64 is the main build target. Win32 still builds and is used to check struct layouts against the 32-bit
original.
## Progress
The numbers below measure how much of the original binary has a counterpart in this source tree. They do
**not** say how much of the game works: the client builds into a complete executable that starts and runs. A
ported function can still behave differently from the original.
Measured on 2026-10-16. A function counts as ported when its address is tagged in the source.
| Binary | Ported | Total | Share |
|---|---:|---:|---:|
| x86 functions | 30,790 | 31,300 | 98.4% |
| x86 code bytes | 6,531,012 | 6,653,634 | 98.2% |
| x64 functions | 26,401 | 38,179 | 69.2% |
| x64 code bytes | 7,553,054 | 9,480,010 | 79.7% |
The x86 total leaves out 9,196 functions that are compiler runtime code, STL template instances or linked
third-party libraries (FMOD Ex, FreeType, zlib, PCRE, ...). Those come from the compiler or from upstream sources
instead of being decompiled. The x64 total includes them, and many x64 addresses are still being added to
functions that are already ported, so the x64 share is lower than the code it covers.
### Address tags
 [code] 
| Tag | Meaning |
|---|---|
| `0x /0x ` | 15595 addresses in `Wow.exe` / `Wow-64.exe`; the x64 half is left out while unknown |
| `[0x...]` | One body shared by several addresses (identical functions folded by the linker) |
| `%0x...` | Address in 4.0.6a (13623): carried over from the previous build, not reworked for 4.3.4 yet |
| `#0x...` | Address in 3.3.5a (12340): carried over from the previous build, not reworked for 4.3.4 yet |
| `// INLINED` | The function exists in the source but the compiler inlined it everywhere in 15595 |
## Requirements
- Windows 10 or 11
- Visual Studio 2022 with the **Desktop development with C++** workload (MSVC v143 and a Windows SDK)
- CMake 3.15 or newer (the one that ships with Visual Studio works)
- For Win32 builds only: NASM, on `PATH` or passed as `-DNASM_EXECUTABLE= `, and
 `DivxDecoder.dll` copied to `ThirdParty/DivxDecoder/` (the build copies it next to the executables; the x64
 build uses its own decoder, `XvidDecoder.dll`, instead)
- A World of Warcraft **4.3.4 (15595)** client. No game data is included in this repository.
## Building
From a Developer PowerShell or any shell with `cmake` on `PATH`:
 [code] 
In-source builds are refused, so keep the build directory separate (`build/` above). Ninja work