mirror of
https://github.com/Kelsidavis/WoWee.git
synced 2026-04-17 17:43:52 +00:00
Update readme and build instructions docs
This commit is contained in:
parent
e8e859384e
commit
fc5294eb0f
2 changed files with 77 additions and 145 deletions
|
|
@ -1,146 +1,88 @@
|
|||
# Build Instructions
|
||||
# WoWee Build Instructions
|
||||
|
||||
This project builds as a native C++ client for WoW 3.3.5a in online mode.
|
||||
This document provides platform-specific build instructions for WoWee.
|
||||
|
||||
## 1. Install Dependencies
|
||||
---
|
||||
|
||||
### Ubuntu / Debian
|
||||
## 🐧 Linux (Ubuntu / Debian)
|
||||
|
||||
### Install Dependencies
|
||||
|
||||
```bash
|
||||
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
|
||||
sudo apt install -y build-essential cmake pkg-config git libsdl2-dev libglew-dev libglm-dev libssl-dev zlib1g-dev libavcodec-dev libavformat-dev libavutil-dev libswscale-dev libunicorn-dev libstorm-dev
|
||||
```
|
||||
|
||||
If `libstorm-dev` is unavailable in your distro repos, build StormLib from source:
|
||||
---
|
||||
|
||||
## 🐧 Linux (Arch)
|
||||
|
||||
### Install Dependencies
|
||||
|
||||
```bash
|
||||
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
|
||||
sudo pacman -S --needed base-devel cmake pkgconf git sdl2 glew glm openssl zlib ffmpeg unicorn stormlib
|
||||
```
|
||||
|
||||
### Fedora
|
||||
---
|
||||
|
||||
## 🐧 Linux (All Distros)
|
||||
|
||||
### Clone Repository
|
||||
|
||||
Always clone with submodules:
|
||||
|
||||
```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
|
||||
git clone --recurse-submodules https://github.com/Kelsidavis/WoWee.git
|
||||
cd WoWee
|
||||
```
|
||||
|
||||
### Arch
|
||||
If you already cloned without submodules:
|
||||
|
||||
```bash
|
||||
sudo pacman -S --needed \
|
||||
cmake base-devel pkgconf git \
|
||||
sdl2 glew glm openssl zlib ffmpeg stormlib
|
||||
git submodule update --init --recursive
|
||||
```
|
||||
|
||||
## 2. Clone + Prepare
|
||||
|
||||
```bash
|
||||
git clone https://github.com/Kelsidavis/WoWee.git
|
||||
cd wowee
|
||||
git clone https://github.com/ocornut/imgui.git extern/imgui
|
||||
```
|
||||
|
||||
## 3. Configure + Build
|
||||
### Build
|
||||
|
||||
```bash
|
||||
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
|
||||
cmake --build build -j"$(nproc)"
|
||||
```
|
||||
|
||||
Binary output:
|
||||
---
|
||||
|
||||
```text
|
||||
build/bin/wowee
|
||||
## 🪟 Windows (Visual Studio 2022)
|
||||
|
||||
### Install
|
||||
|
||||
- Visual Studio 2022
|
||||
- Desktop development with C++
|
||||
- CMake tools for Windows
|
||||
|
||||
### Clone
|
||||
|
||||
```powershell
|
||||
git clone --recurse-submodules https://github.com/Kelsidavis/WoWee.git
|
||||
cd WoWee
|
||||
```
|
||||
|
||||
## 4. Provide WoW Data (Extract + Manifest)
|
||||
### Build
|
||||
|
||||
Wowee loads assets from an extracted loose-file tree indexed by `manifest.json` (it does not read MPQs at runtime).
|
||||
Open the folder in Visual Studio (it will detect CMake automatically)
|
||||
or build from Developer PowerShell:
|
||||
|
||||
### Option A: Extract into `./Data/` (recommended)
|
||||
|
||||
Run:
|
||||
|
||||
```bash
|
||||
# WotLK 3.3.5a example
|
||||
./extract_assets.sh /path/to/WoW/Data wotlk
|
||||
```
|
||||
|
||||
The output includes:
|
||||
|
||||
```text
|
||||
Data/
|
||||
manifest.json
|
||||
interface/
|
||||
sound/
|
||||
world/
|
||||
expansions/
|
||||
```
|
||||
|
||||
### Option B: Use an existing extracted data tree
|
||||
|
||||
Point wowee at your extracted `Data/` directory:
|
||||
|
||||
```bash
|
||||
export WOW_DATA_PATH=/path/to/extracted/Data
|
||||
```
|
||||
|
||||
## 5. Run
|
||||
|
||||
```bash
|
||||
./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:
|
||||
|
||||
```bash
|
||||
git clone https://github.com/ocornut/imgui.git extern/imgui
|
||||
```
|
||||
|
||||
### Data not found at runtime
|
||||
|
||||
Verify `Data/manifest.json` exists (or re-run `./extract_assets.sh ...`), or set:
|
||||
|
||||
```bash
|
||||
export WOW_DATA_PATH=/path/to/extracted/Data
|
||||
```
|
||||
|
||||
### Clean rebuild
|
||||
|
||||
```bash
|
||||
rm -rf build
|
||||
```powershell
|
||||
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
|
||||
cmake --build build -j"$(nproc)"
|
||||
cmake --build build --config Release
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## ⚠️ Notes
|
||||
|
||||
- Case matters on Linux (`WoWee` not `wowee`).
|
||||
- Always use `--recurse-submodules` when cloning.
|
||||
- If you encounter missing headers for ImGui, run:
|
||||
```bash
|
||||
git submodule update --init --recursive
|
||||
```
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue