mirror of
https://github.com/Kelsidavis/WoWee.git
synced 2026-03-22 23:30:14 +00:00
Fix Windows build process and add Windows asset extraction scripts
- Add missing MSYS2 packages to CI: vulkan-loader, vulkan-headers, shaderc, stormlib (both x86-64 and arm64), unicorn (arm64) - Make vulkan-1.dll copy conditional via find_file (fixes MSYS2 builds) - Use find_library for wininet/bz2 in asset_extract (graceful fallback) - Add extract_assets.ps1 and extract_assets.bat for Windows users - Expand BUILD_INSTRUCTIONS.md with MSYS2, vcpkg, and macOS sections - Update README.md to reference Windows scripts and platforms
This commit is contained in:
parent
06979e5c5c
commit
eb549a9b7a
7 changed files with 269 additions and 17 deletions
|
|
@ -49,15 +49,104 @@ cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
|
|||
cmake --build build -j"$(nproc)"
|
||||
```
|
||||
|
||||
### Asset Extraction (Linux)
|
||||
|
||||
After building, extract assets from your WoW client:
|
||||
|
||||
```bash
|
||||
./extract_assets.sh /path/to/WoW/Data wotlk
|
||||
```
|
||||
|
||||
Supports `classic`, `tbc`, `wotlk` targets (auto-detected if omitted).
|
||||
|
||||
---
|
||||
|
||||
## 🍎 macOS
|
||||
|
||||
### Install Dependencies
|
||||
|
||||
```bash
|
||||
brew install cmake pkg-config sdl2 glew glm openssl@3 zlib ffmpeg unicorn stormlib
|
||||
```
|
||||
|
||||
### Clone & Build
|
||||
|
||||
```bash
|
||||
git clone --recurse-submodules https://github.com/Kelsidavis/WoWee.git
|
||||
cd WoWee
|
||||
|
||||
BREW=$(brew --prefix)
|
||||
export PKG_CONFIG_PATH="$BREW/lib/pkgconfig:$(brew --prefix ffmpeg)/lib/pkgconfig:$(brew --prefix openssl@3)/lib/pkgconfig"
|
||||
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release \
|
||||
-DCMAKE_PREFIX_PATH="$BREW" \
|
||||
-DOPENSSL_ROOT_DIR="$(brew --prefix openssl@3)"
|
||||
cmake --build build -j"$(sysctl -n hw.logicalcpu)"
|
||||
```
|
||||
|
||||
### Asset Extraction (macOS)
|
||||
|
||||
```bash
|
||||
./extract_assets.sh /path/to/WoW/Data wotlk
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🪟 Windows (MSYS2 — Recommended)
|
||||
|
||||
MSYS2 provides all dependencies as pre-built packages.
|
||||
|
||||
### Install MSYS2
|
||||
|
||||
Download and install from <https://www.msys2.org/>, then open a **MINGW64** shell.
|
||||
|
||||
### Install Dependencies
|
||||
|
||||
```bash
|
||||
pacman -S --needed \
|
||||
mingw-w64-x86_64-cmake \
|
||||
mingw-w64-x86_64-gcc \
|
||||
mingw-w64-x86_64-ninja \
|
||||
mingw-w64-x86_64-pkgconf \
|
||||
mingw-w64-x86_64-SDL2 \
|
||||
mingw-w64-x86_64-glew \
|
||||
mingw-w64-x86_64-glm \
|
||||
mingw-w64-x86_64-openssl \
|
||||
mingw-w64-x86_64-zlib \
|
||||
mingw-w64-x86_64-ffmpeg \
|
||||
mingw-w64-x86_64-unicorn \
|
||||
mingw-w64-x86_64-vulkan-loader \
|
||||
mingw-w64-x86_64-vulkan-headers \
|
||||
mingw-w64-x86_64-shaderc \
|
||||
mingw-w64-x86_64-stormlib \
|
||||
git
|
||||
```
|
||||
|
||||
### Clone & Build
|
||||
|
||||
```bash
|
||||
git clone --recurse-submodules https://github.com/Kelsidavis/WoWee.git
|
||||
cd WoWee
|
||||
cmake -S . -B build -G Ninja -DCMAKE_BUILD_TYPE=Release
|
||||
cmake --build build --parallel $(nproc)
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🪟 Windows (Visual Studio 2022)
|
||||
|
||||
For users who prefer Visual Studio over MSYS2.
|
||||
|
||||
### Install
|
||||
|
||||
- Visual Studio 2022
|
||||
- Desktop development with C++
|
||||
- CMake tools for Windows
|
||||
- Visual Studio 2022 with **Desktop development with C++** workload
|
||||
- CMake tools for Windows (included in VS workload)
|
||||
- [LunarG Vulkan SDK](https://vulkan.lunarg.com/) (provides Vulkan headers, loader, and glslc)
|
||||
|
||||
### vcpkg Dependencies
|
||||
|
||||
```powershell
|
||||
vcpkg install sdl2 glew glm openssl zlib ffmpeg stormlib --triplet x64-windows
|
||||
```
|
||||
|
||||
### Clone
|
||||
|
||||
|
|
@ -68,16 +157,29 @@ cd WoWee
|
|||
|
||||
### Build
|
||||
|
||||
Open the folder in Visual Studio (it will detect CMake automatically)
|
||||
Open the folder in Visual Studio (it will detect CMake automatically)
|
||||
or build from Developer PowerShell:
|
||||
|
||||
```powershell
|
||||
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
|
||||
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release -DCMAKE_TOOLCHAIN_FILE="[vcpkg root]/scripts/buildsystems/vcpkg.cmake"
|
||||
cmake --build build --config Release
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🪟 Asset Extraction (Windows)
|
||||
|
||||
After building (via either MSYS2 or Visual Studio), extract assets from your WoW client:
|
||||
|
||||
```powershell
|
||||
.\extract_assets.ps1 "C:\Games\WoW-3.3.5a\Data"
|
||||
```
|
||||
|
||||
Or double-click `extract_assets.bat` and provide the path when prompted.
|
||||
You can also specify an expansion: `.\extract_assets.ps1 "C:\Games\WoW\Data" wotlk`
|
||||
|
||||
---
|
||||
|
||||
## ⚠️ Notes
|
||||
|
||||
- Case matters on Linux (`WoWee` not `wowee`).
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue