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

@ -56,16 +56,11 @@ public:
// Singleton access
static Application& getInstance() { return *instance; }
// Single-player mode
void startSinglePlayer();
bool isSinglePlayer() const { return singlePlayerMode; }
void logoutToLogin();
// Weapon loading (called at spawn and on equipment change)
void loadEquippedWeapons();
// Teleport to a spawn preset location (single-player only)
void teleportTo(int presetIndex);
// Logout to login screen
void logoutToLogin();
// Render bounds lookup (for click targeting / selection)
bool getRenderBoundsForGuid(uint64_t guid, glm::vec3& outCenter, float& outRadius) const;
@ -104,20 +99,11 @@ private:
AppState state = AppState::AUTHENTICATION;
bool running = false;
bool singlePlayerMode = false;
bool playerCharacterSpawned = false;
bool npcsSpawned = false;
bool spawnSnapToGround = true;
float lastFrameTime = 0.0f;
float movementHeartbeatTimer = 0.0f;
game::Race spRace_ = game::Race::HUMAN;
game::Gender spGender_ = game::Gender::MALE;
game::Class spClass_ = game::Class::WARRIOR;
uint32_t spMapId_ = 0;
uint32_t spZoneId_ = 0;
glm::vec3 spSpawnCanonical_ = glm::vec3(62.0f, -9464.0f, 200.0f);
float spYawDeg_ = 0.0f;
float spPitchDeg_ = -5.0f;
// Weapon model ID counter (starting high to avoid collision with character model IDs)
uint32_t nextWeaponModelId_ = 1000;