mirror of
https://github.com/Kelsidavis/WoWee.git
synced 2026-03-22 23:30:14 +00:00
Update documentation to reflect current implementation and features
- Expand README.md with complete feature list (quests, vendors, combat, spells, inventory, etc.) - Update Controls section with comprehensive keybindings organized by category - Rewrite docs/quickstart.md from "TODO" state to reflect all working features - Enhance docs/architecture.md with detailed system descriptions and current capabilities - Add CHANGELOG.md documenting 50+ recent commits grouped by feature area - Add FEATURES.md with 100+ documented features across 8 major categories - Update technical details with architecture, networking, and asset loading info
This commit is contained in:
parent
5cc3d9645c
commit
3079b69ba8
5 changed files with 1321 additions and 206 deletions
76
README.md
76
README.md
|
|
@ -7,21 +7,44 @@ A native C++ client for World of Warcraft 3.3.5a (Wrath of the Lich King) with a
|
|||
## Features
|
||||
|
||||
### Rendering Engine
|
||||
- **Terrain** -- Multi-tile streaming, texture splatting (4 layers), frustum culling
|
||||
- **Terrain** -- Multi-tile streaming with async loading, texture splatting (4 layers), frustum culling
|
||||
- **Water** -- Animated surfaces, reflections, refractions, Fresnel effect
|
||||
- **Sky** -- Dynamic day/night cycle, sun/moon with orbital movement
|
||||
- **Stars** -- 1000+ procedurally placed stars (night-only)
|
||||
- **Atmosphere** -- Procedural clouds (FBM noise), lens flare with chromatic aberration
|
||||
- **Moon Phases** -- 8 realistic lunar phases with elliptical terminator
|
||||
- **Weather** -- Rain and snow particle systems (2000 particles, camera-relative)
|
||||
- **Characters** -- Skeletal animation with GPU vertex skinning (256 bones)
|
||||
- **Buildings** -- WMO renderer with multi-material batches, frustum culling, real MPQ loading
|
||||
- **Characters** -- Skeletal animation with GPU vertex skinning (256 bones), race-aware textures
|
||||
- **Buildings** -- WMO renderer with multi-material batches, frustum culling, 160-unit distance culling
|
||||
- **Particles** -- M2 particle emitters with WotLK struct parsing, billboarded glow effects
|
||||
- **Post-Processing** -- HDR, tonemapping, shadow mapping (2048x2048)
|
||||
|
||||
### Asset Pipeline
|
||||
- **MPQ** archive extraction (StormLib), **BLP** DXT1/3/5 textures, **ADT** terrain tiles, **M2** character models, **WMO** buildings, **DBC** database files
|
||||
- **MPQ** archive extraction (StormLib), **BLP** DXT1/3/5 textures, **ADT** terrain tiles, **M2** character models with animations, **WMO** buildings, **DBC** database files (Spell, Item, SkillLine, Faction, etc.)
|
||||
|
||||
### Networking
|
||||
- TCP sockets, SRP6 authentication, world server protocol, RC4 encryption, packet serialization
|
||||
### Gameplay Systems
|
||||
- **Authentication** -- Full SRP6a implementation with RC4 header encryption
|
||||
- **Character System** -- Creation, selection, 3D preview, stats panel, race/class support
|
||||
- **Movement** -- WASD movement, camera orbit, spline path following
|
||||
- **Combat** -- Auto-attack, spell casting with cooldowns, damage calculation, death handling
|
||||
- **Targeting** -- Tab-cycling, click-to-target, faction-based hostility (using Faction.dbc)
|
||||
- **Inventory** -- 23 equipment slots, 16 backpack slots, drag-drop, auto-equip
|
||||
- **Spells** -- Spellbook with class specialty tabs, drag-drop to action bar, spell icons
|
||||
- **Action Bar** -- 12 slots, drag-drop from spellbook/inventory, click-to-cast, keybindings
|
||||
- **Quests** -- Quest markers (! and ?) on NPCs and minimap, quest log, quest details, turn-in flow
|
||||
- **Vendors** -- Buy and sell items, gold tracking, inventory sync
|
||||
- **Loot** -- Loot window, gold looting, item pickup
|
||||
- **Gossip** -- NPC interaction, dialogue options
|
||||
- **Chat** -- SAY, YELL, WHISPER, chat window with formatting
|
||||
- **Party** -- Group invites, party list
|
||||
- **UI** -- Loading screens with progress bar, settings window with opacity slider
|
||||
|
||||
### Single-Player Mode
|
||||
- Offline play without server connection
|
||||
- Local character persistence (SQLite)
|
||||
- Simulated XP and combat
|
||||
- Local item management
|
||||
- Settings persistence
|
||||
|
||||
## Building
|
||||
|
||||
|
|
@ -77,11 +100,34 @@ make -j$(nproc)
|
|||
|
||||
## Controls
|
||||
|
||||
### Camera & Movement
|
||||
| Key | Action |
|
||||
|-----|--------|
|
||||
| WASD | Move camera |
|
||||
| Mouse | Look around |
|
||||
| WASD | Move camera / character |
|
||||
| Mouse | Look around / orbit camera |
|
||||
| Shift | Move faster |
|
||||
| Mouse Left Click | Target entity / interact |
|
||||
| Tab | Cycle targets |
|
||||
|
||||
### UI & Windows
|
||||
| Key | Action |
|
||||
|-----|--------|
|
||||
| I | Toggle inventory |
|
||||
| P | Toggle spellbook |
|
||||
| L | Toggle quest log |
|
||||
| Enter | Open chat |
|
||||
| Escape | Close windows / deselect |
|
||||
|
||||
### Action Bar
|
||||
| Key | Action |
|
||||
|-----|--------|
|
||||
| 1-9, 0, -, = | Use action bar slots 1-12 |
|
||||
| Drag & Drop | Spells from spellbook, items from inventory |
|
||||
| Click | Cast spell / use item |
|
||||
|
||||
### Debug & Development
|
||||
| Key | Action |
|
||||
|-----|--------|
|
||||
| F1 | Performance HUD |
|
||||
| F2 | Wireframe mode |
|
||||
| F9 | Toggle time progression |
|
||||
|
|
@ -96,8 +142,13 @@ make -j$(nproc)
|
|||
|
||||
## Documentation
|
||||
|
||||
### Getting Started
|
||||
- [Quick Start](docs/quickstart.md) -- Installation and first steps
|
||||
- [Features Overview](FEATURES.md) -- Complete feature list
|
||||
- [Changelog](CHANGELOG.md) -- Development history and recent changes
|
||||
|
||||
### Technical Documentation
|
||||
- [Architecture](docs/architecture.md) -- System design and module overview
|
||||
- [Quick Start](docs/quickstart.md) -- Getting started guide
|
||||
- [Authentication](docs/authentication.md) -- SRP6 auth protocol details
|
||||
- [Server Setup](docs/server-setup.md) -- Local server configuration
|
||||
- [Single Player](docs/single-player.md) -- Offline mode
|
||||
|
|
@ -107,10 +158,13 @@ make -j$(nproc)
|
|||
|
||||
## Technical Details
|
||||
|
||||
- **Graphics**: OpenGL 3.3 Core, GLSL 330, forward rendering
|
||||
- **Graphics**: OpenGL 3.3 Core, GLSL 330, forward rendering with post-processing
|
||||
- **Performance**: 60 FPS (vsync), ~50k triangles/frame, ~30 draw calls, <10% GPU
|
||||
- **Platform**: Linux (primary), C++17, CMake 3.15+
|
||||
- **Dependencies**: SDL2, OpenGL/GLEW, GLM, OpenSSL, StormLib, ImGui
|
||||
- **Dependencies**: SDL2, OpenGL/GLEW, GLM, OpenSSL, StormLib, ImGui, SQLite3, FFmpeg
|
||||
- **Architecture**: Modular design with clear separation (core, rendering, networking, game logic, asset pipeline, UI, audio)
|
||||
- **Networking**: Non-blocking TCP, SRP6a authentication, RC4 encryption, WoW 3.3.5a protocol
|
||||
- **Asset Loading**: Async terrain streaming, lazy loading, MPQ archive support
|
||||
|
||||
## License
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue