Kelsidavis-WoWee/GETTING_STARTED.md
Kelsi c103743c3a docs: fix stale keybindings, paths, and API examples
GETTING_STARTED.md:
- Fix keybinding table: T→N for talents, Q→L for quest log, W→M for
  world map, add missing keys (C, I, O, J, Y, K), remove nonexistent
  minimap toggle
- Fix extract_assets.ps1 example param (-WowDirectory → positional)
- Fix Data/ directory tree to match actual manifest layout
- Fix log path: ~/.wowee/logs/ → logs/wowee.log (local directory)

EXPANSION_GUIDE.md:
- Add Turtle WoW 1.17 to supported expansions
- Update code examples to use game_utils.hpp helpers
  (isActiveExpansion/isClassicLikeExpansion/isPreWotlk) instead of
  removed ExpansionProfile::getActive() and GameHandler::getInstance()
- Update packet parser references (WotLK is default in domain handlers,
  not a separate packet_parsers_wotlk.cpp file)
- Update references section with game_utils.hpp
2026-03-30 18:26:47 -07:00

226 lines
6.7 KiB
Markdown

# Getting Started with WoWee
WoWee is a native C++ World of Warcraft client that connects to private servers. This guide walks you through setting up and playing WoWee.
## Prerequisites
- **World of Warcraft Game Data** (Vanilla 1.12, TBC 2.4.3, or WotLK 3.3.5a)
- **A Private Server** (AzerothCore, TrinityCore, Mangos, or Turtle WoW compatible)
- **System Requirements**: Linux, macOS, or Windows with a Vulkan-capable GPU
## Installation
### Step 1: Build WoWee
See [Building](README.md#building) section in README for detailed build instructions.
**Quick start (Linux/macOS)**:
```bash
./build.sh
cd build/bin
./wowee
```
**Quick start (Windows)**:
```powershell
.\build.ps1
cd build\bin
.\wowee.exe
```
### Step 2: Extract Game Data
WoWee needs game assets from your WoW installation:
**Using provided script (Linux/macOS)**:
```bash
./extract_assets.sh /path/to/wow/directory
```
**Using provided script (Windows)**:
```powershell
.\extract_assets.ps1 "C:\Games\WoW-3.3.5a\Data"
```
**Manual extraction**:
1. Install [StormLib](https://github.com/ladislav-zezula/StormLib)
2. Use `asset_extract` or extract manually to `./Data/`:
```
Data/
├── manifest.json # File index (generated by asset_extract)
├── expansions/<id>/ # Per-expansion config and DB
├── character/ # Character textures
├── creature/ # Creature models/textures
├── interface/ # UI textures and icons
├── item/ # Item model textures
├── spell/ # Spell effect models
├── terrain/ # ADT terrain, WMO, M2 doodads
├── world/ # World map images
└── sound/ # Audio files
```
### Step 3: Connect to a Server
1. **Start WoWee**
```bash
cd build/bin && ./wowee
```
2. **Enter Realm Information**
- Server Address: e.g., `localhost:3724` or `play.example.com:3724`
- WoWee fetches the realm list automatically
- Select your realm and click **Connect**
3. **Choose Character**
- Select existing character or create new one
- Customize appearance and settings
- Click **Enter World**
## First Steps in Game
### Default Controls
| Action | Key |
|--------|-----|
| Move Forward | W |
| Move Backward | S |
| Strafe Left | A |
| Strafe Right | D |
| Jump | Space |
| Toggle Chat | Enter |
| Open Character Screen | C |
| Open Inventory | I |
| Open All Bags | B |
| Open Spellbook | P |
| Open Talents | N |
| Open Quest Log | L |
| Open World Map | M |
| Toggle Nameplates | V |
| Toggle Raid Frames | F |
| Open Guild Roster | O |
| Open Dungeon Finder | J |
| Open Achievements | Y |
| Open Skills | K |
| Toggle Settings | Escape |
| Target Next Enemy | Tab |
| Target Previous Enemy | Shift+Tab |
### Customizing Controls
Press **Escape** → **Keybindings** to customize hotkeys.
## Recommended First Steps
### 1. Adjust Graphics Settings
- Press Escape → **Video Settings**
- Select appropriate **Graphics Preset** for your GPU:
- **LOW**: Low-end GPUs or when performance is priority
- **MEDIUM**: Balanced quality and performance
- **HIGH**: Good GPU with modern drivers
- **ULTRA**: High-end GPU for maximum quality
### 2. Adjust Audio
- Press Escape → **Audio Settings**
- Set **Master Volume** to preferred level
- Adjust individual audio tracks (Music, Ambient, UI, etc.)
- Toggle **Original Soundtrack** if available
### 3. Configure UI
- Press Escape → **Game Settings**
- Minimap preferences (rotation, square mode, zoom)
- Bag settings (separate windows, compact mode)
- Action bar visibility
### 4. Complete First Quest
- Talk to nearby NPCs (they have quest markers ! or ?)
- Accept quest, complete objectives, return for reward
- Level up and gain experience
## Important Notes
### Data Directory
Game data is loaded from `Data/` subdirectory:
- If running from build folder: `../../Data` (symlinked automatically)
- If running from binary folder: `./Data` (must exist)
- If running in-place: Ensure `Data/` is in correct location
### Settings
- Settings are saved to `~/.wowee/settings.cfg` (Linux/macOS)
- Or `%APPDATA%\wowee\settings.cfg` (Windows)
- Keybindings, graphics settings, and UI state persist
### Multi-Expansion Support
WoWee auto-detects expansion from server:
- **Vanilla 1.12** - Original game
- **TBC 2.4.3** - Burning Crusade
- **WotLK 3.3.5a** - Wrath of the Lich King
You can override with environment variable:
```bash
WOWEE_EXPANSION=tbc ./wowee # Force TBC
```
## Troubleshooting
### "No realm list" or "Connection Failed"
- Check server address is correct
- Verify server is running
- See [Troubleshooting Guide](TROUBLESHOOTING.md#connection-issues)
### Graphics Errors
- See [Graphics Troubleshooting](TROUBLESHOOTING.md#graphics-issues)
- Start with LOW graphics preset
- Update GPU driver
### Audio Not Working
- Check system audio is enabled
- Verify audio files are extracted
- See [Audio Troubleshooting](TROUBLESHOOTING.md#audio-issues)
### General Issues
- Comprehensive troubleshooting: See [TROUBLESHOOTING.md](TROUBLESHOOTING.md)
- Check `logs/wowee.log` in the working directory for errors
- Verify expansion matches server requirements
## Server Configuration
### Tested Servers
- **AzerothCore** - Full support, recommended for learning
- **TrinityCore** - Full support, extensive customization
- **Mangos** - Full support, solid foundation
- **Turtle WoW** - Full support, 1.17 custom content
### Server Requirements
- Must support Vanilla, TBC, or WotLK protocol
- Warden anti-cheat supported (module execution via emulation)
- Network must allow connections to realm list and world server ports
See [Multi-Expansion Guide](EXPANSION_GUIDE.md) for protocol details.
## Next Steps
1. **Explore the World** - Travel to different zones and enjoy the landscape
2. **Join a Guild** - Find other players to group with
3. **Run Dungeons** - Experience instanced content
4. **PvP** - Engage in player-versus-player combat
5. **Twink Alt** - Create additional characters
6. **Customize Settings** - Fine-tune graphics, audio, and UI
## Getting Help
- **Game Issues**: See [TROUBLESHOOTING.md](TROUBLESHOOTING.md)
- **Graphics Help**: See [Graphics & Performance](README.md#graphics--performance) section
- **Multi-Expansion**: See [EXPANSION_GUIDE.md](EXPANSION_GUIDE.md)
- **Building Issues**: See [README.md](README.md#building)
## Tips for Better Performance
- Start with reasonable graphics preset for your GPU
- Close other applications when testing
- Keep GPU drivers updated
- Use FSR2 (if supported) for smooth 60+ FPS on weaker hardware
- Monitor frame rate with debug overlay (if available)
## Enjoy!
WoWee is a project to experience classic World of Warcraft on a modern engine. Have fun exploring Azeroth!