mirror of
https://github.com/Kelsidavis/WoWee.git
synced 2026-04-03 20:03:50 +00:00
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
This commit is contained in:
parent
47fe6b8468
commit
c103743c3a
2 changed files with 41 additions and 29 deletions
|
|
@ -7,6 +7,7 @@ WoWee supports three World of Warcraft expansions in a unified codebase using an
|
||||||
- **Vanilla (Classic) 1.12** - Original World of Warcraft
|
- **Vanilla (Classic) 1.12** - Original World of Warcraft
|
||||||
- **The Burning Crusade (TBC) 2.4.3** - First expansion
|
- **The Burning Crusade (TBC) 2.4.3** - First expansion
|
||||||
- **Wrath of the Lich King (WotLK) 3.3.5a** - Second expansion
|
- **Wrath of the Lich King (WotLK) 3.3.5a** - Second expansion
|
||||||
|
- **Turtle WoW 1.17** - Custom Vanilla-based server with extended content
|
||||||
|
|
||||||
## Architecture Overview
|
## Architecture Overview
|
||||||
|
|
||||||
|
|
@ -17,9 +18,9 @@ The multi-expansion support is built on the **Expansion Profile** system:
|
||||||
- Specifies which packet parsers to use
|
- Specifies which packet parsers to use
|
||||||
|
|
||||||
2. **Packet Parsers** - Expansion-specific message handling
|
2. **Packet Parsers** - Expansion-specific message handling
|
||||||
- `packet_parsers_classic.cpp` - Vanilla 1.12 message parsing
|
- `packet_parsers_classic.cpp` - Vanilla 1.12 / Turtle WoW message parsing
|
||||||
- `packet_parsers_tbc.cpp` - TBC 2.4.3 message parsing
|
- `packet_parsers_tbc.cpp` - TBC 2.4.3 message parsing
|
||||||
- `packet_parsers_wotlk.cpp` (default) - WotLK 3.3.5a message parsing
|
- Default (WotLK 3.3.5a) parsers in `game_handler.cpp` and domain handlers
|
||||||
|
|
||||||
3. **Update Fields** - Expansion-specific entity data layout
|
3. **Update Fields** - Expansion-specific entity data layout
|
||||||
- Loaded from `update_fields.json` in expansion data directory
|
- Loaded from `update_fields.json` in expansion data directory
|
||||||
|
|
@ -78,17 +79,19 @@ WOWEE_EXPANSION=classic ./wowee # Force Classic
|
||||||
### Checking Current Expansion
|
### Checking Current Expansion
|
||||||
|
|
||||||
```cpp
|
```cpp
|
||||||
#include "game/expansion_profile.hpp"
|
#include "game/game_utils.hpp"
|
||||||
|
|
||||||
// Global helper
|
// Shared helpers (defined in game_utils.hpp)
|
||||||
bool isClassicLikeExpansion() {
|
if (isActiveExpansion("tbc")) {
|
||||||
auto profile = ExpansionProfile::getActive();
|
// TBC-specific code
|
||||||
return profile && (profile->name == "Classic" || profile->name == "Vanilla");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Specific check
|
if (isClassicLikeExpansion()) {
|
||||||
if (GameHandler::getInstance().isActiveExpansion("tbc")) {
|
// Classic or Turtle WoW
|
||||||
// TBC-specific code
|
}
|
||||||
|
|
||||||
|
if (isPreWotlk()) {
|
||||||
|
// Classic, Turtle, or TBC (not WotLK)
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
@ -96,7 +99,7 @@ if (GameHandler::getInstance().isActiveExpansion("tbc")) {
|
||||||
|
|
||||||
```cpp
|
```cpp
|
||||||
// In packet_parsers_*.cpp, implement expansion-specific logic
|
// In packet_parsers_*.cpp, implement expansion-specific logic
|
||||||
bool parseXxxPacket(BitStream& data, ...) {
|
bool TbcPacketParsers::parseXxx(network::Packet& packet, XxxData& data) {
|
||||||
// Custom logic for this expansion's packet format
|
// Custom logic for this expansion's packet format
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
@ -121,6 +124,7 @@ bool parseXxxPacket(BitStream& data, ...) {
|
||||||
## References
|
## References
|
||||||
|
|
||||||
- `include/game/expansion_profile.hpp` - Expansion metadata
|
- `include/game/expansion_profile.hpp` - Expansion metadata
|
||||||
- `docs/status.md` - Current feature support by expansion
|
- `include/game/game_utils.hpp` - `isActiveExpansion()`, `isClassicLikeExpansion()`, `isPreWotlk()`
|
||||||
- `src/game/packet_parsers_*.cpp` - Format-specific parsing logic
|
- `src/game/packet_parsers_classic.cpp` / `packet_parsers_tbc.cpp` - Expansion-specific parsing
|
||||||
|
- `docs/status.md` - Current feature support
|
||||||
- `docs/` directory - Additional protocol documentation
|
- `docs/` directory - Additional protocol documentation
|
||||||
|
|
|
||||||
|
|
@ -39,20 +39,24 @@ WoWee needs game assets from your WoW installation:
|
||||||
|
|
||||||
**Using provided script (Windows)**:
|
**Using provided script (Windows)**:
|
||||||
```powershell
|
```powershell
|
||||||
.\extract_assets.ps1 -WowDirectory "C:\Program Files\World of Warcraft"
|
.\extract_assets.ps1 "C:\Games\WoW-3.3.5a\Data"
|
||||||
```
|
```
|
||||||
|
|
||||||
**Manual extraction**:
|
**Manual extraction**:
|
||||||
1. Install [StormLib](https://github.com/ladislav-zezula/StormLib)
|
1. Install [StormLib](https://github.com/ladislav-zezula/StormLib)
|
||||||
2. Extract to `./Data/`:
|
2. Use `asset_extract` or extract manually to `./Data/`:
|
||||||
```
|
```
|
||||||
Data/
|
Data/
|
||||||
├── dbc/ # DBC files
|
├── manifest.json # File index (generated by asset_extract)
|
||||||
├── map/ # World map data
|
├── expansions/<id>/ # Per-expansion config and DB
|
||||||
├── adt/ # Terrain chunks
|
├── character/ # Character textures
|
||||||
├── wmo/ # Building models
|
├── creature/ # Creature models/textures
|
||||||
├── m2/ # Character/creature models
|
├── interface/ # UI textures and icons
|
||||||
└── blp/ # Textures
|
├── 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
|
### Step 3: Connect to a Server
|
||||||
|
|
@ -84,15 +88,19 @@ WoWee needs game assets from your WoW installation:
|
||||||
| Strafe Right | D |
|
| Strafe Right | D |
|
||||||
| Jump | Space |
|
| Jump | Space |
|
||||||
| Toggle Chat | Enter |
|
| Toggle Chat | Enter |
|
||||||
| Interact (talk to NPC, loot) | F |
|
| Open Character Screen | C |
|
||||||
| Open Inventory | B |
|
| Open Inventory | I |
|
||||||
|
| Open All Bags | B |
|
||||||
| Open Spellbook | P |
|
| Open Spellbook | P |
|
||||||
| Open Talent Tree | T |
|
| Open Talents | N |
|
||||||
| Open Quest Log | Q |
|
| Open Quest Log | L |
|
||||||
| Open World Map | W (when not typing) |
|
| Open World Map | M |
|
||||||
| Toggle Minimap | M |
|
|
||||||
| Toggle Nameplates | V |
|
| Toggle Nameplates | V |
|
||||||
| Toggle Party Frames | F |
|
| Toggle Raid Frames | F |
|
||||||
|
| Open Guild Roster | O |
|
||||||
|
| Open Dungeon Finder | J |
|
||||||
|
| Open Achievements | Y |
|
||||||
|
| Open Skills | K |
|
||||||
| Toggle Settings | Escape |
|
| Toggle Settings | Escape |
|
||||||
| Target Next Enemy | Tab |
|
| Target Next Enemy | Tab |
|
||||||
| Target Previous Enemy | Shift+Tab |
|
| Target Previous Enemy | Shift+Tab |
|
||||||
|
|
@ -171,7 +179,7 @@ WOWEE_EXPANSION=tbc ./wowee # Force TBC
|
||||||
|
|
||||||
### General Issues
|
### General Issues
|
||||||
- Comprehensive troubleshooting: See [TROUBLESHOOTING.md](TROUBLESHOOTING.md)
|
- Comprehensive troubleshooting: See [TROUBLESHOOTING.md](TROUBLESHOOTING.md)
|
||||||
- Check logs in `~/.wowee/logs/` for errors
|
- Check `logs/wowee.log` in the working directory for errors
|
||||||
- Verify expansion matches server requirements
|
- Verify expansion matches server requirements
|
||||||
|
|
||||||
## Server Configuration
|
## Server Configuration
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue