Kelsidavis-WoWee/BUILD_INSTRUCTIONS.md

2.2 KiB

Build Instructions

This project builds as a native C++ client for WoW 3.3.5a in online mode.

1. Install Dependencies

Ubuntu / Debian

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

If libstorm-dev is unavailable in your distro repos, build StormLib from source:

cd /tmp
git clone https://github.com/ladislav-zezula/StormLib.git
cd StormLib
mkdir build && cd build
cmake ..
make -j"$(nproc)"
sudo make install
sudo ldconfig

Fedora

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

Arch

sudo pacman -S --needed \
  cmake base-devel pkgconf git \
  sdl2 glew glm openssl zlib ffmpeg stormlib

2. Clone + Prepare

git clone https://github.com/Kelsidavis/WoWee.git
cd wowee
git clone https://github.com/ocornut/imgui.git extern/imgui

3. Configure + Build

cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build -j"$(nproc)"

Binary output:

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:

Data/
  common.MPQ
  common-2.MPQ
  expansion.MPQ
  lichking.MPQ
  patch.MPQ
  patch-2.MPQ
  patch-3.MPQ
  enUS/

5. Run

./build/bin/wowee

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:

git clone https://github.com/ocornut/imgui.git extern/imgui

MPQ/Data not found at runtime

Place data under ./Data or set:

export WOW_DATA_PATH=/path/to/WoW/Data

Clean rebuild

rm -rf build
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build -j"$(nproc)"