2026-02-11 15:28:50 -08:00
|
|
|
# Build Instructions
|
2026-02-07 10:56:55 -08:00
|
|
|
|
2026-02-11 15:28:50 -08:00
|
|
|
This project builds as a native C++ client for WoW 3.3.5a in online mode.
|
2026-02-07 10:56:55 -08:00
|
|
|
|
2026-02-11 15:28:50 -08:00
|
|
|
## 1. Install Dependencies
|
2026-02-07 10:56:55 -08:00
|
|
|
|
2026-02-11 15:28:50 -08:00
|
|
|
### Ubuntu / Debian
|
2026-02-07 10:56:55 -08:00
|
|
|
|
|
|
|
|
```bash
|
2026-02-11 15:28:50 -08:00
|
|
|
sudo apt update
|
|
|
|
|
sudo apt install -y \
|
|
|
|
|
cmake build-essential pkg-config git \
|
|
|
|
|
libsdl2-dev libglew-dev libglm-dev \
|
|
|
|
|
libssl-dev zlib1g-dev \
|
|
|
|
|
libavformat-dev libavcodec-dev libswscale-dev libavutil-dev \
|
|
|
|
|
libstorm-dev
|
2026-02-07 10:56:55 -08:00
|
|
|
```
|
|
|
|
|
|
2026-02-11 15:28:50 -08:00
|
|
|
If `libstorm-dev` is unavailable in your distro repos, build StormLib from source:
|
2026-02-07 10:56:55 -08:00
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
cd /tmp
|
|
|
|
|
git clone https://github.com/ladislav-zezula/StormLib.git
|
2026-02-11 15:28:50 -08:00
|
|
|
cd StormLib
|
|
|
|
|
mkdir build && cd build
|
2026-02-07 10:56:55 -08:00
|
|
|
cmake ..
|
2026-02-11 15:28:50 -08:00
|
|
|
make -j"$(nproc)"
|
|
|
|
|
sudo make install
|
|
|
|
|
sudo ldconfig
|
2026-02-07 10:56:55 -08:00
|
|
|
```
|
|
|
|
|
|
2026-02-11 15:28:50 -08:00
|
|
|
### Fedora
|
2026-02-07 10:56:55 -08:00
|
|
|
|
2026-02-11 15:28:50 -08:00
|
|
|
```bash
|
|
|
|
|
sudo dnf install -y \
|
|
|
|
|
cmake gcc-c++ make pkg-config git \
|
|
|
|
|
SDL2-devel glew-devel glm-devel \
|
|
|
|
|
openssl-devel zlib-devel \
|
|
|
|
|
ffmpeg-devel \
|
|
|
|
|
StormLib-devel
|
2026-02-07 10:56:55 -08:00
|
|
|
```
|
|
|
|
|
|
2026-02-11 15:28:50 -08:00
|
|
|
### Arch
|
2026-02-07 10:56:55 -08:00
|
|
|
|
|
|
|
|
```bash
|
2026-02-11 15:28:50 -08:00
|
|
|
sudo pacman -S --needed \
|
|
|
|
|
cmake base-devel pkgconf git \
|
|
|
|
|
sdl2 glew glm openssl zlib ffmpeg stormlib
|
2026-02-07 10:56:55 -08:00
|
|
|
```
|
|
|
|
|
|
2026-02-11 15:28:50 -08:00
|
|
|
## 2. Clone + Prepare
|
|
|
|
|
|
2026-02-07 10:56:55 -08:00
|
|
|
```bash
|
2026-02-11 15:34:42 -08:00
|
|
|
git clone https://github.com/Kelsidavis/WoWee.git
|
2026-02-11 15:28:50 -08:00
|
|
|
cd wowee
|
|
|
|
|
git clone https://github.com/ocornut/imgui.git extern/imgui
|
2026-02-07 10:56:55 -08:00
|
|
|
```
|
|
|
|
|
|
2026-02-11 15:28:50 -08:00
|
|
|
## 3. Configure + Build
|
|
|
|
|
|
2026-02-07 10:56:55 -08:00
|
|
|
```bash
|
2026-02-11 15:28:50 -08:00
|
|
|
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
|
|
|
|
|
cmake --build build -j"$(nproc)"
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
Binary output:
|
|
|
|
|
|
|
|
|
|
```text
|
|
|
|
|
build/bin/wowee
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
## 4. Provide WoW 3.3.5a Data
|
|
|
|
|
|
|
|
|
|
Supply your own legally obtained data files in either:
|
|
|
|
|
|
|
|
|
|
1. `./Data/`
|
|
|
|
|
2. Path pointed to by `WOW_DATA_PATH`
|
|
|
|
|
|
|
|
|
|
Example:
|
|
|
|
|
|
|
|
|
|
```text
|
|
|
|
|
Data/
|
|
|
|
|
common.MPQ
|
|
|
|
|
common-2.MPQ
|
|
|
|
|
expansion.MPQ
|
|
|
|
|
lichking.MPQ
|
|
|
|
|
patch.MPQ
|
|
|
|
|
patch-2.MPQ
|
|
|
|
|
patch-3.MPQ
|
|
|
|
|
enUS/
|
2026-02-07 10:56:55 -08:00
|
|
|
```
|
|
|
|
|
|
2026-02-11 15:28:50 -08:00
|
|
|
## 5. Run
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
./build/bin/wowee
|
2026-02-07 10:56:55 -08:00
|
|
|
```
|
2026-02-11 15:28:50 -08:00
|
|
|
|
|
|
|
|
## 6. Local AzerothCore (Optional)
|
|
|
|
|
|
|
|
|
|
If you are using a local AzerothCore Docker stack, start it first and then connect from the client realm screen.
|
|
|
|
|
|
|
|
|
|
See:
|
|
|
|
|
|
|
|
|
|
- `docs/server-setup.md`
|
|
|
|
|
|
|
|
|
|
## Troubleshooting
|
|
|
|
|
|
|
|
|
|
### `StormLib` not found
|
|
|
|
|
|
|
|
|
|
Install distro package or build from source (section 1).
|
|
|
|
|
|
|
|
|
|
### `ImGui` missing
|
|
|
|
|
|
|
|
|
|
Ensure `extern/imgui` exists:
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
git clone https://github.com/ocornut/imgui.git extern/imgui
|
2026-02-07 10:56:55 -08:00
|
|
|
```
|
|
|
|
|
|
2026-02-11 15:28:50 -08:00
|
|
|
### MPQ/Data not found at runtime
|
|
|
|
|
|
|
|
|
|
Place data under `./Data` or set:
|
|
|
|
|
|
2026-02-07 10:56:55 -08:00
|
|
|
```bash
|
2026-02-11 15:28:50 -08:00
|
|
|
export WOW_DATA_PATH=/path/to/WoW/Data
|
2026-02-07 10:56:55 -08:00
|
|
|
```
|
|
|
|
|
|
2026-02-11 15:28:50 -08:00
|
|
|
### Clean rebuild
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
rm -rf build
|
|
|
|
|
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
|
|
|
|
|
cmake --build build -j"$(nproc)"
|
|
|
|
|
```
|