Remove single-player mode to focus on multiplayer

Removed all single-player/offline mode functionality:
- Removed ~2,200 lines of SQLite database code
- Removed 11 public SP methods from GameHandler
- Removed SP member variables and state flags
- Removed SP UI elements (auth screen button, game settings)
- Removed SQLite3 build dependency
- Deleted docs/single-player.md
- Updated documentation (README, FEATURES, CHANGELOG)

Files modified:
- src/game/game_handler.cpp: 2,852 lines (down from 4,921)
- include/game/game_handler.hpp: Removed SP API
- src/core/application.cpp/hpp: Removed startSinglePlayer()
- src/ui/*: Removed SP UI logic
- CMakeLists.txt: Removed SQLite3

All online multiplayer features preserved and tested.
This commit is contained in:
kelsi davis 2026-02-06 23:52:16 -08:00
parent 3079b69ba8
commit 99d5f9a33a
15 changed files with 4959 additions and 3536 deletions

View file

@ -39,13 +39,6 @@ A native C++ client for World of Warcraft 3.3.5a (Wrath of the Lich King) with a
- **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
### Prerequisites
@ -161,7 +154,7 @@ make -j$(nproc)
- **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, SQLite3, FFmpeg
- **Dependencies**: SDL2, OpenGL/GLEW, GLM, OpenSSL, StormLib, ImGui, 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