How awest813/league-soccer works
League-Soccer is a playable football game combining quick matches, season leagues, custom leagues, and Owner/GM, Coach, and Player careers. The main route is launch → choose a mode and teams → play a simulated match → view match results and history; management modes add persistent club and season progression. The graph includes the documented match, tactics, input, presentation, and persistence capabilities. Source excerpts are partial, so some subsystem connections reflect README documentation rather than inspected call sites.
Main entry points: match.cpp Match Engine · mainmenu.cpp Main Menu · main.cpp Application Runtime · league League Mode
Components 20
Game Runtime
- Application Runtime
src/main.cpp
Match Simulation
- Match Engine
src/onthepitch/match.cpp - Teams and Players
src/onthepitch/team.cpp - Tactical Team AI
src/onthepitch/teamAIcontroller.cpp - Player Controllers
src/onthepitch/player/controller/playercontroller.cpp - Ball Physics
src/onthepitch/ballphysics.cpp - Officials
src/onthepitch/officials.cpp
Game Modes
- Main Menu
src/menu/mainmenu.cpp - Match Setup
src/menu/startmatch/teamselect.cpp - League Mode
src/menu/league - Career Mode
src/menu/career - Custom Leagues
src/league/leaguesetup.cpp
Input and Presentation
- Match HUD
src/menu/ingame/ingame.cpp - Replay and History
src/menu/ingame/replaymenu.cpp - Keyboard and Gamepad
src/hid - 3D Graphics
src/systems/graphics/graphics_system.cpp - Spatial Audio
src/systems/audio/audio_system.cpp
Game State
- Club and Match Data
src/data - SQLite Persistence
src/utils/database.cpp
Other components
- Player
Connections 26
- Player → Main Menu: chooses mode
- Application Runtime → Main Menu: creates menu task
- Application Runtime → Match Engine: creates game task
- Main Menu → Match Setup: opens setup
- Main Menu → League Mode: opens mode
- Main Menu → Career Mode: opens mode
- Main Menu → Custom Leagues: opens setup
- Match Setup → Match Engine: starts match
- League Mode → Match Engine: starts matchday
- Career Mode → Match Engine: starts match
- Custom Leagues → League Mode: defines competition
- Match Engine → Teams and Players: simulates teams
- Match Engine → Tactical Team AI: updates tactics
- Tactical Team AI → Player Controllers: sets player roles
- Match Engine → Ball Physics: updates ball
- Match Engine → Officials: processes officiating
- Keyboard and Gamepad → Player Controllers: supplies controls
- Match Engine → Match HUD: updates match display
- Match Engine → Replay and History: records match history
- Career Mode → Club and Match Data: updates club state
- League Mode → Club and Match Data: updates season state
- Match Engine → Club and Match Data: records results
- Club and Match Data → SQLite Persistence: reads and writes
- Application Runtime → 3D Graphics: runs system
- Application Runtime → Spatial Audio: runs system
- Match HUD → Keyboard and Gamepad: reads input